仅在满足存储过程输入参数时删除

时间:2017-06-09 08:15:20

标签: sql sql-server stored-procedures parameters sql-delete

我有一个存储过程,可以从多个表中删除大量数据。删除顺序由外键约束决定。

当我的存储过程输入参数@P_DeleteIfOnly = 0时,不应该执行过程中的一些delete语句。

每当我用0(exec spname 0)调用我的存储过程时,它仍会删除数据。我在查询中尝试了几种不同的组合:

首先,我尝试在WHERE子句中添加输入参数,但这不起作用:

DELETE blablabla
WHERE @P_DeleteIfOnly = 1

然后我用IF语句尝试了它,但这也没有用:

IF (@P_DeleteIfOnly= 1)
BEGIN
    DELETE blablabla
END

任何人都可以帮我吗?

提前致谢

0 个答案:

没有答案