我在存储过程中有一些 console.log(myCategory);
语句来删除其他表中的一些子记录,并最终删除传递给存储过程的ID。
我担心如果与Delete
一起使用的某个select语句没有返回会发生什么,这会删除该表上的任何内容吗?
实施例
Delete
答案 0 :(得分:4)
在案例中(来自您的示例),当SELECT [ID] FROM @PurchaseIDs
不会返回任何内容时,tblPurchases
不会删除任何内容,因为ID in (empty_set)
条件将无法满足。
declare @t1 table (ID int)
insert into @t1 (ID)
select 1
union all
select 2
union all
select 3
declare @t2 table (ID int)
insert into @t2 (ID)
select 1
delete from @t1 where ID in (select ID from @t2 where ID > 1)
select * from @t1
答案 1 :(得分:0)
答案是否定的,不会删除任何内容。什么都没有"在"一个空的集合,所以什么都不会被删除。