以下是我的查询
self.test()
我收到错误消息
+
附近的语法不正确
答案 0 :(得分:3)
+
是一个处理值的运算符,例如常量,函数和列。它不适用于查询中的标识符。您可以使用动态SQL执行所需操作:
DECLARE @DB VARCHAR(3);
SET @DB = 'PK1';
DECLARE @sql NVARCHAR(max) = 'SELECT DATA FROM ' + @DB_ + 'ADD';
EXEC sp_executesql @sql;
答案 1 :(得分:0)
你需要动态的sql,比如....
DECLARE @DB VARCHAR(3)
DECLARE @Sql NVARCHAR(MAX);
SET @DB = 'PK1'
SET @Sql = N'SELECT DATA FROM ' + QUOTENAME(@DB+'_ADD');
Exec sp_executesql @Sql