zoukankan      html  css  js  c++  java
  • 存储过程参数 用到in

    在使用存储过程中,有用到in

    1:首先增加一个 split 函数

    ALTER    FUNCTION [dbo].[Split]   
    --用来在存储过程中使用in的函数,这个函数的作用呢,就是把你输入的字符按一定的分隔符分开,并放在一个表里的一列里,然后返回。
    (   
    @c VARCHAR(300) ,   
    @split VARCHAR(50)   
    )   
    RETURNS @t TABLE ( col VARCHAR(50) )   
    AS  
    BEGIN  
        WHILE ( CHARINDEX(@split, @c) <> 0 )   
            BEGIN  
                INSERT  @t( col )   
                VALUES  ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )   
                SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')   
            END  
        INSERT  @t( col ) VALUES  ( @c )   
        RETURN  
    END

    2:在存储过程中,这样写

    image

    create   proc 查询公司员工下现有公司(@guwen varchar(200))
    as
    --用途:查询员工下所有的公司(目前还在我公司旗下的)
    --参数为 'Queenie,Thomas,Cat,Sweet,Rain'  
    --exec 查询公司员工下现有公司 'Queenie,Thomas,Cat,Sweet,Rain'
    begin 
    
    SELECT a.id, a.COCN AS 公司中文名, a.COEN AS 公司英文名, a.CODATE AS 公司成立时间, 
          b.cTypeName AS 公司类型, c.ename AS 顾问, a.F1 AS 股东一中文姓名, 
          a.F1SUR AS 股东一英文姓, a.F1OTHER AS 股东一英文名, a.CMAN AS 联系人, 
          a.Sex AS 联系人性别, a.CMAIL AS 联系人email, 
          a.CTEL 联系人电话 ,a.CMOB AS 联系人手机
    FROM List a INNER JOIN
          alz_companyType b ON a.companyTypeId = b.cTypeId INNER JOIN
          alz_guwen c ON a.GW = c.guwenid
    WHERE (c.ename IN (select * from Split(@guwen,','))) AND 
          (a.ATDATEState <> '5')
    ORDER BY a.CODATE 
    
    end
  • 相关阅读:
    加密web.config
    SQL FOR XML
    SQL语句中拆分字段
    Units specified don't exist SHSUCDX can't install
    SQLSERVER与C#中数据类型的对应关系
    使用 FOR XML PATH 產生 XML 格式時,遇到 NULL 該如何處理?
    T_SQL的 FOR XML PATH 用法
    T-SQL with关键字
    Sqlserver获取行号
    win10以太网没有有效的ip配置
  • 原文地址:https://www.cnblogs.com/iceicebaby/p/2050168.html
Copyright © 2011-2022 走看看