关键字'删除'附近的语法错误在SP

时间:2017-11-16 15:24:01

标签: sql sql-server database stored-procedures

我正在尝试从表中删除某些条目时,我的SP会抛出错误。为了安全起见,我得到IF EXISTS并在其下面我有删除声明,但我收到此错误

Incorrect syntax near the keyword 'DELETE'.

删除stmt

IF EXISTS (DELETE FROM myTable WHERE id IN ((SELECT ids FROM @tranId)));

我不确定语法是否不正确。

1 个答案:

答案 0 :(得分:6)

IF是不必要的,额外的括号也是如此:

DELETE FROM ESG.DOCUMENT_SET_TRANS_MDATA
    WHERE DOCUMENT_SET_TRANS_MDATA.DOCUMENT_SET_TRANSACTION_ID IN (SELECT ids FROM @tranId);

DELETE FROM ESG.DOCUMENT_TRANSACTION
    WHERE DOCUMENT_TRANSACTION.DOCUMENT_SET_TRANSACTION_ID IN (SELECT ids FROM @tranId);

DELETE FROM ESG.DOCUMENT_SET_TRANSACTION
    WHERE DOCUMENT_SET_TRANSACTION.DOCUMENT_SET_TRANSACTION_ID IN (SELECT ids FROM @tranId);