sql server存储过程实现批量删除

在项目中用到了存储过程来进行批量删除的操作,给大家分享一下

原理就是把id组成的字符串在数据库分割成数组放一张临时表,删除的时候与id进行对照

--删除会员信息
if OBJECT_ID('pro_DelUserInfo','p')is not null   --判断存储过程是否存在
    drop proc pro_DelUserInfo    --存在则删除
go
create proc pro_DelUserInfo(   --创建存储过程
@strid varchar(max)  --参数  格式 "1,2,3,5,6"
)
as  
declare @temp Table (a varchar(100))   --创建临时表
begin

--把参数@strid分割成int数组并插入临时表@temp
Declare @i Int
Set @strid = RTrim(LTrim(@strid))
Set @i = CharIndex(',',@strid)
While @i >= 1
Begin
Insert @temp Values(Left(@strid,@i-1))
Set @strid = SubString(@strid,@i+1,Len(@strid)-@i)
Set @i = CharIndex(',',@strid)
End
If @strid <> ''
Insert @temp Values (@strid)     --插入临时表


delete tbl_User where id in (select * from @temp)  --执行为删除操作 通过id与临时表中的int数组对照

end


当然如果有多个表使用的话,也可以吧表名和唯一标示id写成参数操作

转载于:https://www.cnblogs.com/net-god/p/5731855.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值