zoukankan      html  css  js  c++  java
  • 存储过程调用函数:将字符串拆分为表

    USE [riskmain]
    GO

    /****** Object: UserDefinedFunction [dbo].[fnSplit] Script Date: 2020/7/23 12:05:46 ******/
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO


    -- =============================================
    -- Author: <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description: 将字符串拆分为表
    -- Modify: liuli 2013-9-28 9:49:40 判断为空情况
    -- =============================================
    CREATE FUNCTION [dbo].[fnSplit]
    (
    @string VARCHAR(max),
    @split VARCHAR(2)
    )
    RETURNS @t TABLE(col VARCHAR(MAX))
    AS


    BEGIN
    WHILE (CHARINDEX(@split, @string) <> 0)
    BEGIN
    INSERT @t
    (
    col
    )
    VALUES
    (
    SUBSTRING(@string, 1, CHARINDEX(@split, @string) -1)
    )
    SET @string = STUFF(@string, 1, CHARINDEX(@split, @string), '')
    END
    IF (@string <> '')
    BEGIN
    INSERT @t
    (
    col
    )
    VALUES
    (
    @string
    )
    END
    RETURN
    END
    GO

    存储过程调用该函数:

    ALTER PROCEDURE [Base].[prVehicleShareMointDel]
    @ModifiedUserID int
    ,@IDs nvarchar(max)
    ,@O_RETURN INT OUTPUT
    AS
    BEGIN
    SET NOCOUNT ON;

    UPDATE [Base].[VehicleShareMoint]
    SET
    ModifiedUserID=@ModifiedUserID
    ,[ModifiedTime]=GETDATE()
    ,[IsValid]=0
    WHERE EXISTS
    (
    SELECT 1
    from dbo.fnSplit(@IDs,',') AS B
    WHERE B.col=ID/*ID代表[Base].[VehicleShareMoint]中的ID*/

    @IDs:该值为前端传过来的值

    );
    IF @@ROWCOUNT>0
    BEGIN
    SET @O_RETURN=1;
    END
    ELSE
    BEGIN
    SET @O_RETURN=0;
    END
    END;

    GO

  • 相关阅读:
    MFC的奇异non-modality模态对话框
    用于对话框,窗体视图,对话框和属性类型的布局管理器
    在。net中定制OpenFileDialog
    NFS的使用
    snmp-get
    zabbix-trap
    部署
    /etc/rc.local
    gj的交换机在升级了ios之后最新数据不刷新,
    计算型监控项
  • 原文地址:https://www.cnblogs.com/ypyp123/p/13365563.html
Copyright © 2011-2022 走看看