当前位置: 代码迷 >> SQL >> SQL Server经过储存过程实现批量删除注意事项
  详细解决方案

SQL Server经过储存过程实现批量删除注意事项

热度:12   发布时间:2016-05-05 13:34:53.0
SQL Server通过储存过程实现批量删除注意事项

这里设定传过来的参数是拼接好的字符串,如:1,2,3,4,5

create procedure up_batchDeleteById

(

    @condition varchar(max)

)

as

delete from dt_name where id in(@condition)

以上的做法看似正确,实际会报错,具体原因是说id是int类型的,[email protected],这样无法删除

正确做法:

create procedure up_batchDeleteById

(

    @condition varchar(max)

)

as

declare @sql varchar(max)

set @sql='delete from dt_name where id in (' + @condition + ')'

exec(@sql)

至于这样做为什么正确,目前还不知道大笑

  相关解决方案