Stored procedures 在IN参数的情况下使用的IN子句在删除时不起作用
我想根据一些ID从数据库中删除我的记录 这是在我的存储过程中编写的基于DeletedID删除记录的语句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必
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放在一个数据块中,将所有参数放在另一个数据块中,以保持较低的网络流量
您可以在此主题中搜索更多内容
谢谢
资历架构