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

WBOY
发布: 2016-06-07 17:58:08
原创
1099 人浏览过

这里设定传过来的参数是拼接好的字符串,如:1,2,3,4,5 create procedure up_batchDeleteById ( @condition varchar(max) ) as delete from dt_name where id in(@condition) 以上的做法看似正确,实际会报错,具体原因是说id是int类型的,而@condition是字

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

create procedure up_batchDeleteById

(

    @condition varchar(max)

)

as

delete from dt_name where id in(@condition)

以上的做法看似正确,实际会报错,具体原因是说id是int类型的,而@condition是字符串类型,这样无法删除

正确做法:

create procedure up_batchDeleteById

(

    @condition varchar(max)

)

as

declare @sql varchar(max)

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

exec(@sql)
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!