我正在使用动态SQL从一组表中进行选择,其中一些表名包含'&'字符。 但是,一旦我的查询遇到其中一个表,我就会收到以下错误:
'&'附近的语法不正确。
以下是一些重新创建错误的示例代码:
DECLARE @TABLE_NAME AS NVARCHAR(150);
SET @TABLE_NAME = 'A&BTable';
EXEC(
'SELECT col1, col2, col3
FROM Warehouse_Repository.dbo.' + @TABLE_NAME
)
如何更改此查询,以便我可以从包含'&'使用动态SQL?
答案 0 :(得分:2)
DECLARE @TABLE_NAME AS NVARCHAR(150);
SET @TABLE_NAME = QUOTENAME('A&BTable');
EXEC(
'SELECT col1, col2, col3
FROM dbo.' + @TABLE_NAME
)