Below is my query
DECLARE @DB VARCHAR(3)
SET @DB = 'PK1'
SELECT DATA FROM +@DB+_ADD
I get an error message
incorrect syntax near +
Below is my query
DECLARE @DB VARCHAR(3)
SET @DB = 'PK1'
SELECT DATA FROM +@DB+_ADD
I get an error message
incorrect syntax near +
+
is an operator that works on values, such as constants, functions, and columns. It doesn't work on identifiers within the query. You can do what you want with dynamic SQL:
DECLARE @DB VARCHAR(3);
SET @DB = 'PK1';
DECLARE @sql NVARCHAR(max) = 'SELECT DATA FROM ' + @DB_ + 'ADD';
EXEC sp_executesql @sql;
You need dynamic sql for this, something like....
DECLARE @DB VARCHAR(3)
DECLARE @Sql NVARCHAR(MAX);
SET @DB = 'PK1'
SET @Sql = N'SELECT DATA FROM ' + QUOTENAME(@DB+'_ADD');
Exec sp_executesql @Sql