sqlserver中自定义函数+存储过程实现批量删除

由于项目的需要,很多模块都要实现批量删除的功能。为了方便模块的调用,把批量删除方法写成自定义函数。直接上代码。

 自定义函数:

ALTER FUNCTION [dbo].[func_SplitById]
(@str varchar(50),@split varchar(10))--传过来的id字符串  --分割的标志
RETURNS @t Table (id int)  --返回一个表
AS
BEGIN
    DECLARE @x XML  --进行拼接
    SET @x = CONVERT(XML,'<items><item id="' + REPLACE(@str, @split, '"/><item id="') + '"/></items>')
    INSERT INTO @t SELECT x.item.value('@id[1]', 'INT') FROM @x.nodes('//items/item') AS x(item)
    RETURN 
END

 批量删除存调用自定义函数:

ALTER proc [dbo].[pro_DelUserInfo](
@id varchar(max)
)
as
begin
update tbl_member set enable=0 where id in(select * from dbo.func_SplitById(@id,','))
end

 

转载于:https://www.cnblogs.com/sunliyuan/p/5732327.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值