Cascade Delete Stored Procedure

In database migration tests a database needs to be emptied before each import attempt. Rows can be easily deleted by the delete command if no foreign key constrain is affected. In most small projects simple scripts deleting child tables before deleting the main one are not big deal. However for larger projects especially complex database design we need dynamic scripts to cascade delete rows. Lucky it was there long time ago back to 2002 (http://goo.gl/TEFUf ). Here is the local copy of the code:

 

 

It's simple to use the code. For example, if we do delete with a condition:

DELETE FROM X WHERE field1 = '234'

With the above Stored Procedure we can write:

exec spDeleteRows 'X', 'field1 = ''234''', 0

The Stored Procedure will work but the delete command won't if table X is a parent table of other table(s). The SP is also nested, which means it will delete from as many levels of child tables as it has.

 

發佈了156 篇原創文章 · 獲贊 8 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章