Sql > '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause1',) + “或者” 其他的 ISNULL(@WhereClause1',) 结束 否则“ 结束+案例 当@WhereClause2“”时,则

Sql > '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause1',) + “或者” 其他的 ISNULL(@WhereClause1',) 结束 否则“ 结束+案例 当@WhereClause2“”时,则,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,> '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause1',) + “或者” 其他的 ISNULL(@WhereClause1',) 结束 否则“ 结束+案例 当@WhereClause2“”时,则为CASE 什么时候 @第3条 < > '' 或 @第8条 < > '' 或 @第7条 < > '' 或 @第6条 < > '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause2',

> '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause1',) + “或者” 其他的 ISNULL(@WhereClause1',) 结束 否则“ 结束+案例 当@WhereClause2“”时,则为CASE 什么时候 @第3条 < > '' 或 @第8条 < > '' 或 @第7条 < > '' 或 @第6条 < > '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause2',) + “或者” 其他的 ISNULL(@WhereClause2',) 结束 否则“ 结束+案例 当@WhereClause3“”时,则为CASE 什么时候 @第8条 < > '' 或 @第7条 < >
select procedurename from table name t1
EXEC testa @newId, @prod, @desc;
SELECT @newId = @@SCOPE_IDENTITY
create #t (...);
insert #t(...)  exec sp1;
ALTER PROCEDURE [dbo].[usp_GetCouponStatusProcedure1] --26072,54
@UserID INT,
@SavedSearch VARCHAR(550)
SELECT @UserName1 = ss.UserName,
       @Email1               = ss.EmailID,
       @Mobile1              = ss.Mobile,
       @UserFilter1          = ss.UserFilter,
       @UserType1            = ss.UserType,
       @LastLoginBefore1     = ss.LastLoginBefore,
       @LastPurchase1        = ss.LastPurchase,
       @LastLogin1           = ss.LastLogin
FROM   SavedSearch AS ss
WHERE  ss.ID = @SavedSearch  

DECLARE @String NVARCHAR(1000) =
        'SELECT  SearchName  into #Temp
DECLARE @LastLogin           VARCHAR(500),
        @Email               VARCHAR(500),
        @Mobile              VARCHAR(500),
        @UserFilter          VARCHAR(500),
        @UserName            VARCHAR(500),
        @UserType            VARCHAR(500),
        @LastLoginBefore     VARCHAR(500),
        @LastPurchase        VARCHAR(500),
        @WhereClause         VARCHAR(500),
        @WhereClause1        VARCHAR(500),
        @WhereClause2        VARCHAR(500),
        @WhereClause3        VARCHAR(500),
        @WhereClause4        VARCHAR(500),
        @WhereClause5        VARCHAR(500),
        @WhereClause6        VARCHAR(500),
        @WhereClause7        VARCHAR(500),
        @WhereClause8        VARCHAR(500)  

SET @WhereClause = '        WHERE  ss.ID = @SavedSearch1 AND ('  

DECLARE @i INT   
IF @LastLogin1 <> 0
BEGIN
    SET @LastLogin = 
        '      CROSS APPLY funcToGetNewUserLastLogin(ss.LastLogin) AS ftll  '  

    SET @WhereClause1 = ' ftll.[User_ID] = @UserID1  '
END   

IF @Email1 <> ''
BEGIN
    SET @Email = 
        '      CROSS APPLY funcToGetUserForGivenEmail(ss.EmailID) AS ftEm  '  

    SET @WhereClause2 = ' ftEm.[User_ID] = @UserID1  '
END   

IF @Mobile1 <> 0
BEGIN
    SET @Mobile = 
        '      CROSS APPLY funcToGetUserForGivenMobile(ss.Mobile) AS ftmo  '  

    SET @WhereClause3 = ' ftmo.[User_ID] = @UserID1  '
END   

IF @UserFilter1 <> ''
BEGIN
    SET @UserFilter = 
        '      CROSS APPLY funcToGetUserForGivenUserFilter(ss.UserFilter) AS ftUf  '  

    SET @WhereClause4 = ' ftUf.[User_ID] = @UserID1  '
END   

IF @UserName1 <> ''
BEGIN
    SET @UserName = 
        '      CROSS APPLY funcToGetUserForGivenUserName(ss.UserName) AS ftun  '  

    SET @WhereClause5 = ' ftun.[User_ID] = @UserID1  '
END   

IF @UserType1 <> ''
BEGIN
    SET @UserType = 
        '      CROSS APPLY funcToGetUserForGivenUserType(ss.UserType) AS ftut  '  

    SET @WhereClause6 = ' ftut.[User_ID] = @UserID1  '
END   

IF @LastLoginBefore1 <> 0
BEGIN
    SET @LastLoginBefore = 
        '      CROSS APPLY funcToGetUserLastLoginBefore(ss.LastLoginBefore) AS ftlb  '  

    SET @WhereClause7 = ' ftlb.[User_ID] = @UserID1  '
END   

IF @LastPurchase1 <> 0
BEGIN
    SET @LastPurchase = 
        '      CROSS APPLY funcToGetUserLastPurchased(ss.LastPurchase) AS ftpur  '  

    SET @WhereClause8 = ' ftpur.[User_ID] = @UserID1  '
END   



SET @String = @String + ISNULL(@Email, '') + ISNULL(@UserName, '') + ISNULL(@UserType, '') 
    + ISNULL(@UserFilter, '') + ISNULL(@LastLogin, '') 
    + ISNULL(@LastLoginBefore, '') + ISNULL(@LastPurchase, '') + ISNULL(@Mobile, '') 
    + ISNULL(@WhereClause, '') + CASE 
                                      WHEN @WhereClause1 <> '' THEN CASE 
                                                                         WHEN 
                                                                              @WhereClause2 
                                                                              <
                                                                              >
                                                                              '' 
                                                                              OR 
                                                                              @WhereClause3 
                                                                              <
                                                                              >
                                                                              '' 
                                                                              OR 
                                                                              @WhereClause8 
                                                                              <
                                                                              >
                                                                              '' 
                                                                              OR 
                                                                              @WhereClause7 
                                                                              <
                                                                              >
                                                                              '' 
                                                                              OR 
                                                                              @WhereClause6 
                                                                              <
                                                                              >
                                                                              '' 
                                                                              OR 
                                                                              @WhereClause5 
                                                                              <
                                                                              >
                                                                              '' 
                                                                              OR 
                                                                              @WhereClause4 
                                                                              <
                                                                              >
                                                                              '' THEN 
                                                                              ISNULL(@WhereClause1, '') 
                                                                              +
                                                                              ' OR '
                                                                         ELSE 
                                                                              ISNULL(@WhereClause1, '')
                                                                    END
                                      ELSE ''
                                 END + CASE 
                                            WHEN @WhereClause2 <> '' THEN CASE 
                                                                               WHEN 
                                                                                    @WhereClause3 
                                                                                    <
                                                                                    >
                                                                                    '' 
                                                                                    OR 
                                                                                    @WhereClause8 
                                                                                    <
                                                                                    >
                                                                                    '' 
                                                                                    OR 
                                                                                    @WhereClause7 
                                                                                    <
                                                                                    >
                                                                                    '' 
                                                                                    OR 
                                                                                    @WhereClause6 
                                                                                    <
                                                                                    >
                                                                                    '' 
                                                                                    OR 
                                                                                    @WhereClause5 
                                                                                    <
                                                                                    >
                                                                                    '' 
                                                                                    OR 
                                                                                    @WhereClause4 
                                                                                    <
                                                                                    >
                                                                                    '' THEN 
                                                                                    ISNULL(@WhereClause2, '') 
                                                                                    +
                                                                                    ' OR '
                                                                               ELSE 
                                                                                    ISNULL(@WhereClause2, '')
                                                                          END
                                            ELSE ''
                                       END + CASE 
                                                  WHEN @WhereClause3 <> '' THEN CASE 
                                                                                     WHEN 
                                                                                          @WhereClause8 
                                                                                          <
                                                                                          >
                                                                                          '' 
                                                                                          OR 
                                                                                          @WhereClause7 
                                                                                          <
                                                                                          >
                                                                                          '' 
                                                                                          OR 
                                                                                          @WhereClause6 
                                                                                          <
                                                                                          >
                                                                                          '' 
                                                                                          OR 
                                                                                          @WhereClause5 
                                                                                          <
                                                                                          >
                                                                                          '' 
                                                                                          OR 
                                                                                          @WhereClause4 
                                                                                          <
                                                                                          >
                                                                                          '' THEN 
                                                                                          ISNULL(@WhereClause3, '') 
                                                                                          +
                                                                                          ' OR '
                                                                                     ELSE 
                                                                                          ISNULL(@WhereClause3, '')
                                                                                END
                                                  ELSE ''
                                             END + CASE 
                                                        WHEN @WhereClause4 <
                                                             > '' THEN CASE 
                                                                            WHEN 
                                                                                 @WhereClause8 
                                                                                 <
                                                                                 >
                                                                                 '' 
                                                                                 OR 
                                                                                 @WhereClause7 
                                                                                 <
                                                                                 >
                                                                                 '' 
                                                                                 OR 
                                                                                 @WhereClause6 
                                                                                 <
                                                                                 >
                                                                                 '' 
                                                                                 OR 
                                                                                 @WhereClause5 
                                                                                 <
                                                                                 >
                                                                                 '' THEN 
                                                                                 ISNULL(@WhereClause4, '') 
                                                                                 +
                                                                                 ' OR '
                                                                            ELSE 
                                                                                 ISNULL(@WhereClause4, '')
                                                                       END
                                                        ELSE ''
                                                   END + CASE 
                                                              WHEN @WhereClause5 
                                                                   <> '' THEN CASE 
                                                                                   WHEN 
                                                                                        @WhereClause8 
                                                                                        <
                                                                                        >
                                                                                        '' 
                                                                                        OR 
                                                                                        @WhereClause7 
                                                                                        <
                                                                                        >
                                                                                        '' 
                                                                                        OR 
                                                                                        @WhereClause6 
                                                                                        <
                                                                                        >
                                                                                        '' THEN 
                                                                                        ISNULL(@WhereClause5, '') 
                                                                                        +
                                                                                        ' OR '
                                                                                   ELSE 
                                                                                        ISNULL(@WhereClause5, '')
                                                                              END
                                                              ELSE ''
                                                         END + CASE 
                                                                    WHEN @WhereClause6 
                                                                         <>
                                                                         '' THEN CASE 
                                                                                      WHEN 
                                                                                           @WhereClause8 
                                                                                           <
                                                                                           >
                                                                                           '' 
                                                                                           OR 
                                                                                           @WhereClause7 
                                                                                           <
                                                                                           >
                                                                                           '' THEN 
                                                                                           ISNULL(@WhereClause6, '') 
                                                                                           +
                                                                                           ' OR '
                                                                                      ELSE 
                                                                                           ISNULL(@WhereClause6, '')
                                                                                 END
                                                                    ELSE ''
                                                               END + CASE 
                                                                          WHEN 
                                                                               @WhereClause7 
                                                                               <
                                                                               >
                                                                               '' THEN CASE 
                                                                                            WHEN 
                                                                                                 @WhereClause8 
                                                                                                 <
                                                                                                 >
                                                                                                 '' THEN 
                                                                                                 ISNULL(@WhereClause7, '') 
                                                                                                 +
                                                                                                 ' OR '
                                                                                            ELSE 
                                                                                                 ISNULL(@WhereClause7, '')
                                                                                       END
                                                                          ELSE 
                                                                               ''
                                                                     END + CASE 
                                                                                WHEN 
                                                                                     @WhereClause6 
                                                                                     <
                                                                                     >
                                                                                     '' THEN 
                                                                                     ISNULL(@WhereClause6, '')
                                                                                ELSE 
                                                                                     ''
                                                                           END 
    + ' )'  


DECLARE @ParmDefinition NVARCHAR(500) =
        N'@UserID1 INT, @SavedSearch1 varchar(500),@ii int OUTPUT';    
DECLARE @UserID1          INT,
        @SavedSearch1     VARCHAR(500) 

EXECUTE sp_executesql @String,
     @ParmDefinition,
     @UserID1 = @UserID,
     @SavedSearch1 = @SavedSearch,
     @ii = @i OUTPUT

DECLARE @rowcount INT
SET @rowcount = @@rowcount
SELECT --@SavedSearch  AS savedsearchid,
       @rowcount AS ReturnedValue

       --PRINT @String

       --SELECT @i