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によって提案されたものを使用します。
助けてくれてありがとう!