zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    Kruskal算法
    拓扑排序
    邻接表有向图
    邻接矩阵的有向图
    邻接表无向图
    邻接矩阵无向图
    斐波那契堆
    二项堆
    斜堆(待补充)
    项目中maven依赖无法自动下载
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/5732327.html
Copyright © 2011-2022 走看看