使用SQL Server我想將一個字符串注入基於if語句的SQL語句中,請注意,我試圖在存儲過程中完成此操作。SQL Server存儲過程如果語句注入字符串
我目前得到一個錯誤,此代碼:
Declare @topString varchar(240)
IF @topRecords > 0
SET @topString = 'top 500'
ELSE
SET @topString = ''
SELECT @topString * FROM(//incorrect syntax near FROM
SELECT top 500 c.Id as [Customer Id],....
UNION
SELECT top 500 c.Id as [Customer Id],....
)as table1
Order by 1 desc
編輯
if somethingTrue
@whereCondition = '1 = 1 '
else
@whereCondition = branch = @branch
select * from table
where @whereCondition AND etc...
正確
注射內部的if語句Jodrell
而去如果你需要一個動態的頂部然後按照Kaf的建議行事。
感謝雙方的幫助!
謝謝你的幫助,我很可能會跟你說什麼,但問題是SQL真的很大,所以現在我需要結束無數的單引號...... zzz – rtp
@rtp我不能否認它的痛苦。我嘗試在客戶端執行我的動態SQL,如果您使用.Net,它主要是免費的。 – Jodrell
@Jodrell +1用於閱讀頭腦,並回答原帖中未出現的內容。 – Kaf