stored proc - executing a query with NOT IN where clause

后端 未结 5 737
梦谈多话
梦谈多话 2021-01-26 09:58

i have a stored procedure

Create PROCEDURE abc      
  @sRemovePreviouslySelectedWhereClause nvarchar(max)
AS
BEGIN

SELECT * 
      FROM table 
     WHERE nId          


        
5条回答
  •  耶瑟儿~
    2021-01-26 10:22

    Create FUNCTION [dbo].[fn_Split] (  
    @List nvarchar(2000),   @SplitOn nvarchar(5)
     )   
    RETURNS @RtnValue table  ( 
        Value nvarchar(100) ) 
     AS   
    BEGIN 
    While (Charindex(@SplitOn,@List)>0) 
    Begin  
    Insert Into @RtnValue (value)
     Select    Value = ltrim(rtrim(Substring(@List,1,Charindex(@SplitOn,@List)-1))) 
    Set @List = Substring(@List,Charindex(@SplitOn,@List)+len(@SplitOn),len(@List)) 
    End  
    Insert Into @RtnValue (Value)
        Select Value = ltrim(rtrim(@List))
    
        Return 
    END
    
    **********
    Create PROCEDURE abc      
      @sRemovePreviouslySelectedWhereClause nvarchar(max)
    AS
    BEGIN
    
    SELECT * 
          FROM Table 
         WHERE nId NOT IN (select * from dbo.fn_Split(@sRemovePreviouslySelectedWhereClause,','))
    
    END;
    

提交回复
热议问题