gpt4 book ai didi

sql - DynamicSQL 使用 sp_executesql 错误

转载 作者:行者123 更新时间:2023-12-04 18:16:41 26 4
gpt4 key购买 nike

我不断收到以下存储过程的错误。我使用 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]”。

谢谢

最佳答案

您可能需要以与表名相同的方式将项目数放入字符串中
SET @SQL = N'Select TOP ' + Convert(varchar(10),@numberOfItems) + ' * from ' + @tableName + N' 其中 Active = 1 AND BeingProcessed = 0'

关于sql - DynamicSQL 使用 sp_executesql 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com