联合或聚合到SQL CMD模式中的表变量

huangapple go评论49阅读模式
英文:

Union or aggregate into table variable in SQL CMD MODE

问题

有没有一种方法可以在使用SSMS中的SQL CMD模式时,将不同数据库(位于不同服务器上)的记录合并到一个表中?

:连接 数据库1
选择 名字,姓氏  1
GO
:连接 数据库2
选择 名字,姓氏  1
GO
:连接 数据库3
选择 名字,姓氏  1
GO

我如何将所有结果放入一个表中?

英文:

Is there a way to combine records into one table across databases (and on different servers) when using SQL CMD MODE in SSMS?

:Connect Database1
select firstname,lastname from table1
GO
:Connect Database2
select firstname,lastname from table1
GO
:Connect Database3
select firstname,lastname from table1
GO

How can I put all the results in one table?

答案1

得分: 1

可以使用变量保存服务器,合并结果并使用 select into,看起来像是:

:setvar serv1 "server1"
:setvar serv2 "server2"

:Connect $(serv1)
select column into #Result
from database.schema.table
union all
select column from $(serv2).database.schema.table

select * from #Result /* 在server1上的临时表 */
英文:

Yes you could use variables to hold the servers, union the results and use select into, it would look something like:

:setvar serv1 "server1"
:setvar serv2 "server2"

:Connect $(serv1)
select column into #Result
from database.schema.table
union all
select column from $(serv2).database.schema.table

select * from #Result /* Temp table on server1 */

huangapple
  • 本文由 发表于 2023年4月20日 04:55:20
  • 转载请务必保留本文链接:https://go.coder-hub.com/76058744.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定