当我编译没有任何问题,但是当我执行这个存储过程,我得到:附近有语法错误“”在SQL动态查询
附近有语法错误“”
我不能为我的生命找出其中的问题是:
DECLARE @sql nvarchar(4000)
SET @sql = 'SELECT idea, id, posted_by
FROM
(idea,id, posted_by, ROW_NUMBER() OVER(ORDER BY ' + @sortExpression + ') as RowNum
FROM ideas e
INNER JOIN buckets d ON
e.bucket_id = d.id
WHERE e.bucket_id = ' + CONVERT(nvarchar(10), @bucketId) + '
) as EmpInfo
WHERE RowNum BETWEEN ' + CONVERT(nvarchar(10), @startRowIndex) +
' AND (' + CONVERT(nvarchar(10), @startRowIndex) + ' + '
+ CONVERT(nvarchar(10), @maximumRows) + ') - 1'
EXEC sp_executesql @sql
您可以输出'@ sql'变量并在此处发布结果。准备好的语句是正确的,但串联的字符串可能不是。这意味着'EXEC'功能导致错误。 –
该子查询看起来像缺少其“SELECT”。 –
使用“print(@sql)”在'EXEC' –