We’ve been having an issue with one of our database tables’ mysteriously deleting data at random. We could have swore it was some sort of SQL intrusion or code bug. We leaned towards SQL intrusion because this database has been in use for quite some time. However, that was not the case. A new Stored Procedure that touched this table was added recently. In quick review, it didn’t appear that anything was wrong. Here it is:
1 2 3 4 5 6 7 8 9 ALTER PROCEDURE \[dbo\].\[ProcedureName\] @EmailAddress varchar(256) AS IF EXISTS (SELECT TableID from The\_Table\_Name\_Was\_Pretty\_Long WHERE EmailAddress=@EmailAddress) BEGIN DELETE The\_Table\_Name\_Was\_Pretty\_Long WHERE @EmailAddress = @EmailAddress END
Lesson Learned. :-)
It’s kind of embarrassing that I’ve reviewed this statement at least 2 dozen times in the past 3 days and couldn’t figure out what the issue was.