在一条SQL语句中同时对两个数据库中的不同表进行 *** 作,有什么好的解决方法吗?

在一条SQL语句中同时对两个数据库中的不同表进行 *** 作,有什么好的解决方法吗?,第1张

1.如果是同一服务器

假设 另一个数据库名为'数据库B',并且当然用户对两个数据库都有对应权限

select into [table] from [数据库B].[所有者].[表名]

2.如果不在同一服务器

select into [table] from opendatasource('sqloledb','data source=服务器名或IPuser id=登陆名password=口令').数据库B.表名

在执行的时候,要注意两个表的标示要写完整:数据库名.用户名.表名

例如:

insert into db1.yonghu1.bm

select * from db2.yonghu2.bm

db1和db2是数据库名,yonghu1和yonghu2是数据库的用户名,bm是表名。

假设当前数据库为aaa,另一个数据库为bbb。现在将数据库aaa中的tba的数据复制到数据库bbb中,就给它命名为tbb。

select * into bbb.dbo.tbb

from aaa

实际上就是into子句后面的新表名字前面加上另外一个数据库的名称、所有者。

如果你保证两个数据库可以互相连通就可以。。比如,a,b两个数据库,可以在a数据库中查询b数据库的表信息,比如,在a数据库中执行

select

*

from

b.表名。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6674119.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存