The sp__GenerateInsertUpdateProcedure interrogates the INFORMATION_SCHEMA views for table meta-data. Then based upon that meta-data it generates a stored procedure that can be used to perform an insert/update operation. If a record does not exist based upon the defined primary key, the procedure will insert a record. If a record does already exist based upon the defined primary key and at least one non-key column in the parameter list is different from the underlying table data it will perform an update. An insert/update procedure can be extremely useful when called from a front-end programming environment like VB or when used in conjunction with DTS. In my case, I'm using the generated insert/update routines from the User Defined Query portion of a Data Driven Query task within DTS to load data changes into a production database.
Even if the exact circumstances of these scripts are not immediately useful for your business environment, seeing how they query the meta-data information, manipulate it, and then generate code from it can be an eye opening experience.
Author: Joel Janke
Disclaimer: We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
"as -is", without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose...
Back to Database Journal Home