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.