在sql中声明一个表

时间:2015-08-19 11:04:51

标签: sql sql-server sql-server-2008

以下是我的查询

self.test()

我收到错误消息

  

+

附近的语法不正确

2 个答案:

答案 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