Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures 在IN参数的情况下使用的IN子句在删除时不起作用_Stored Procedures_Sql Delete_Where In - Fatal编程技术网

Stored procedures 在IN参数的情况下使用的IN子句在删除时不起作用

Stored procedures 在IN参数的情况下使用的IN子句在删除时不起作用,stored-procedures,sql-delete,where-in,Stored Procedures,Sql Delete,Where In,我想根据一些ID从数据库中删除我的记录 这是在我的存储过程中编写的基于DeletedID删除记录的语句 DELETE FROM tms_activity where activity_id IN (DeletedID); 我的DeletedID是一个字符串,记录以逗号分隔,如(“1,2,3”) 现在,当我在语句中将DeletedID作为参数传递时,它将输入作为“1,2,3”,并使用它得到的第一个DeletedID(在本例中为1)删除记录。但我希望根据给定的参数删除所有记录 DeletedId必

我想根据一些ID从数据库中删除我的记录

这是在我的存储过程中编写的基于DeletedID删除记录的语句

DELETE FROM tms_activity where activity_id IN (DeletedID);
我的DeletedID是一个字符串,记录以逗号分隔,如(“1,2,3”)

现在,当我在语句中将DeletedID作为参数传递时,它将输入作为“1,2,3”,并使用它得到的第一个DeletedID(在本例中为1)删除记录。但我希望根据给定的参数删除所有记录

DeletedId必须像(1,2,3)一样传递,而不是(“1,2,3”),这样它才能根据提供的ID删除所有记录……现在我该怎么做

我问了这个问题:, 但是我不明白如何才能达到我的效果。

你试过这个吗

      DELETE FROM tms_activity where activity_id in
      ( SELECT ACTIVITY_ID FROM SOMETABLE WHERE FIELD = CRITERIA )
或者更多的发现,如果我在这个问题上,我会选择这些解决方案之一

我调查发现了一些非常好的链接

[http://johnhforrest.com/2010/10/parameterized-sql-queries-in-c/][1]
如果您必须发送大量参数并希望在一个SQL上运行,那么参数化SQL查询有一个好处。它将sql放在一个数据块中,将所有参数放在另一个数据块中,以保持较低的网络流量

您可以在此主题中搜索更多内容

谢谢

资历架构