zoukankan      html  css  js  c++  java
  • 存储过程处理前端选择多值集合

    在存储过程中,有时需要处理前端传入的如数组集合,方法可以参考下面实例:

    代码
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO



    CREATE PROCEDURE [dbo].[usp_FqaVisual_GetWorkPlaceReport]
    (    
        
    @WorkPlaceCollections NVARCHAR(50--用户选择的场所集合,如:"2,5,6,7"
    )
    AS

    BEGIN
    --判断临时表是否存在
        IF OBJECT_ID('#TempWorkPlace'IS NOT NULL
        
    --如果存在,首先DROP
            DROP TABLE #TempWorkPlace    
            
    --创建临时表
        CREATE TABLE  #TempWorkPlace 
         (   
            ID 
    INT IDENTITY(1,1),  --动处产生ID
            WorkPlaceId TINYINT
         )        
    END

    --宣告变量
    DECLARE @N INT,    @ROWS INT,@WorkPlaceId TINYINT
    --判断临时表是否有记录存在
    IF EXISTS (SELECT * FROM #TempWorkPlace)
    --如果有记录存在,首先TRUNCATE所有记录
    TRUNCATE TABLE #TempWorkPlace        


    SELECT @N = 1            
        
    DECLARE @sql NVARCHAR(500)
        
    --把用户选择的场所集合插入到临时表中。
        SET @sql ='INSERT INTO #TempWorkPlace([WorkPlaceId]) SELECT '''+ REPLACE(@WorkPlaceCollections,',',''' UNION SELECT'''+''''
        
    EXECUTE(@sql)
    SELECT @ROWS = @@ROWCOUNT

    --下面开始循环临时表
    WHILE @N <= @ROWS 
    BEGIN
        
    SELECT @WorkPlaceId = [WorkPlaceId] FROM #TempWorkPlace WHERE [Id] = @N
        
    --这里开始处理与工作场所相关报表
        
        
    SET @N = @N + 1                
    END    
  • 相关阅读:
    Android的LinearLayout中的权重android:layout_weight
    iPhone尺寸规范
    导出iPhone中安装的APP的iPA文件
    c++ json字符串转换成map管理
    mac 升级EI Capitan后遇到c++转lua时遇到libclang.dylib找不到的错
    sqlite3 数据库使用
    关于flyme5显示不到和卸载不到旧应用解决方法
    cocos2dx 通过jni调用安卓底层方法
    cocos2dx 单张图片加密
    安卓线程使用问题
  • 原文地址:https://www.cnblogs.com/insus/p/1760767.html
Copyright © 2011-2022 走看看