![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
We have a SQL Server database that can accept data from several different projects throughout our lab. Is it better to (1) let each developer create their own prepared SQL statements for inserts or to (2) hide the schema from them and have them call stored procedures or views to get the data into the database? So for example, in the 1st case, the developer's code (e.g. PERL w/ DBI/DBD) would prepare/execute: INSERT INTO table (col1,col2,col3) VALUES (1,2,3) and in the 2nd case they would prepare/execute: EXEC sp_insertdata, @val1 = 1, @val = 2, @val3 = 3 .. and the stored procedure does the insert. The main goal here is to isolate the developer from knowing the database schema. Only the 'database team' knows the schema and then any changes are done in one place (i.e. the view/stored procedure) instead of one or many external applications. In the 2nd case, the schema is invisible to him/her but if a column was added to 'table', they would have to change their stored procedure call all the same. |
#4
| |||
| |||
|
|
We have a SQL Server database that can accept data from several different projects throughout our lab. Is it better to (1) let each developer create their own prepared SQL statements for inserts or to (2) hide the schema from them and have them call stored procedures or views to get the data into the database? So for example, in the 1st case, the developer's code (e.g. PERL w/ DBI/DBD) would prepare/execute: INSERT INTO table (col1,col2,col3) VALUES (1,2,3) and in the 2nd case they would prepare/execute: EXEC sp_insertdata, @val1 = 1, @val = 2, @val3 = 3 .. and the stored procedure does the insert. The main goal here is to isolate the developer from knowing the database schema. Only the 'database team' knows the schema and then any changes are done in one place (i.e. the view/stored procedure) instead of one or many external applications. In the 2nd case, the schema is invisible to him/her but if a column was added to 'table', they would have to change their stored procedure call all the same. If there is there an easier way to do this please advise. Some of our inserts are into tables of 100 or more columns (time-based data) and the cadence can be sub-second. Any help appreciated. Michael Husler |
![]() |
| Thread Tools | |
| Display Modes | |
| |