我不断收到以下存储过程的错误。我使用 EXEC 让它正常工作,然后我切换到 sp_executesql 并且我无法让它执行。我不断收到以下错误:“@numberOfItems”附近的语法不正确。
ALTER PROCEDURE dbo.FetchResourcesToProcess
(
@tableName nvarchar(MAX),
@numberOfItems int
)
AS
BEGIN
DECLARE @SQL nvarchar(MAX);
SET NOCOUNT ON;
SET @SQL = N'Select TOP @numberOfItems * from ' + @tableName + N' where Active = 1 AND BeingProcessed = 0'
EXEC sp_executesql @SQL, N'@numberOfItems int', @numberOfItems
END
表名是一个结构如下的字符串:“[TABLENAME]”。
谢谢