如何在同一个db
中的2个不同domain
的表格上进行联接
SET DBname = "sample"
SELECT *
FROM Table1
INNER JOIN DBname.Table2 T On Table1.key = T.Key
报告如
列名T
无效
任何帮助将不胜感激
答案 0 :(得分:3)
你必须使用动态sql:
@DBname = 'sample';
declare @sql nvarchar(max);
set @sql = '
SELECT *
FROM Table1 INNER JOIN
@DBname.table2
On Table1.key = Table2.Key';
set @sql = replace(@sql, '@DBname', @DBname);
exec sp_executesql @sql;
一般数据库 - 特别是SQL Server - 不允许参数表示数据库名称,模式名称,表名称或列名称。