我在 SQL Server 中创建了一个存储过程来为 SSRS 提供数据,以使其能够接受多个值。
我已经创建了它,当我在报告中使用它或在 SQL Server 中执行它时,我收到以下错误消息。
消息 207,第 16 层,状态 1,第 35 行
列名称“伦敦”无效。
我有什么遗漏的吗?谢谢
这是我的样本数据。随意用它创建表格
DECLARE @MyTables AS TABLE (ID INT, City VARCHAR(100))
INSERT INTO @MyTables VALUES
(1, 'London'),
(2, 'Chester'),
(3, 'Luton'),
(4, 'New York'),
(1, 'London'),
(2, 'Chester'),
(5, 'Paris'),
(5, 'Paris'),
(2, 'Chester'),
(2, 'Chester')
SELECT * FROM @MyTables
这是我的动态存储过程的代码:
CREATE PROCEDURE dbo.CitiesGroup
@Cities NVARCHAR(Max) -- this are the parameters
AS
BEGIN
DECLARE @sqLQuery VARCHAR(MAX)
DECLARE @AnswersTempTable TABLE
(
ID INT,
City VARCHAR(250)
)
SET @sqlQuery = 'SELECT ID, City
FROM MyTables
WHERE CONVERT(nvarchar(Max), City) IN (' + @Cities + ')
INSERT INTO @AnswersTempTable
EXEC (@sqlQuery)
SELECT * FROM @AnswersTempTable'
END
Thanks
EXEC dbo.CitiesGroup 'London'
错误信息:
消息 207,第 16 层,状态 1,第 32 行
无效的列名称“伦敦”