使用 SQL Server 我试图基于 if 语句将字符串注入 SQL 语句,请注意我试图在存储过程中完成此操作。
我目前收到此代码的错误:
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 建议的内容。
谢谢你们的帮助!