Sql > '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause1',) + “或者” 其他的 ISNULL(@WhereClause1',) 结束 否则“ 结束+案例 当@WhereClause2“”时,则
> '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause1',) + “或者” 其他的 ISNULL(@WhereClause1',) 结束 否则“ 结束+案例 当@WhereClause2“”时,则为CASE 什么时候 @第3条 < > '' 或 @第8条 < > '' 或 @第7条 < > '' 或 @第6条 < > '' 或 @第5条 < > '' 或 @第4条 < > ”“那么 ISNULL(@WhereClause2',) + “或者” 其他的 ISNULL(@WhereClause2',) 结束 否则“ 结束+案例 当@WhereClause3“”时,则为CASE 什么时候 @第8条 < > '' 或 @第7条 < >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',
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