如果两个数据库在一台机器上,可以直接引用就可以了。b.db_name.dbo.table_name(sp_name)
如果不在一台机器上,需要在他们之间建立link server.
如果不在一台机器上,需要在他们之间建立link server.
解决方案 »
- 求一简单的sql,类似:select 1
- powerdesigner 外键中的格式怎么定义的?正确马上结贴
- 请高手指教
- 问表的外键问题。
- 存贮过程中变量的问题
- mysql 子查询问题
- 如何在拨号网络的情况下建立sqlserver出版与订阅?
- 请问如何查找a表中有,而在b表中没有的记录?
- 安装SQL问题,请高手解决!
- 在VFP中我照着一个原有表单程序(表单有一个页框,四页面的),我想修改原来的四页面,想直截生成一个新表单程序,现在我已设计好,但一运行就有个在表单级中是加入的按扭(返回)对象?再加一句在以.scx形式打开表单是有设计成果的,为什么会这样?
- 关于SQL进程锁死的问题,各位帮帮小弟
- 如何查找同一个表中相同的记录??
--创建链接服务器
exec sp_addlinkedserver ''''srv_lnk'''','''''''',''''SQLOLEDB'''',''''远程服务器名或ip地址''''
exec sp_addlinkedsrvlogin ''''srv_lnk'''',''''false'''',null,''''用户名'''',''''密码''''具体语句可以这样来写
比如:向B中table2表插入A中table1表的内容
select * into B..table2 from table1
如果使用了链接服务器
select * into 链接服务器名.b.dbo.table2 from table1
形如:select * from [b数据库].[dbo].[tbname]
如果是异地数据库,则先要建立连接服务器:
举列如下:
sp_addlinkedserver 'lnksvr','','sqloledb','192.168.18.33'
exec sp_addlinkedsrvlogin 'lnksvr',false,null,'sa','密码'--test
select * from [lnksvr].[数据库名].[所有者].[表名]
@server='AnotherServer',
@srvproduct='',
@provider='MSDASQL',
@provstr='Driver={SQL SERVER};SERVER=IP;UID=sa;PWD=;Database=数据库名称'select * from AnotherServer.master.dbo.sysobjects
--如果经常访问或数据量大,建议用链接服务器--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go--查询示例
select * from srv_lnk.数据库名.dbo.表名--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名go
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)--导入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)在企业管理器中设置SQL实例--->安全性--->链接服务器--->右键新建链接服务器常规中输入链接服务器的名字,选其它数据源,选SQLOLEDB,数据源写上,一般写IP地址再选安全性-----》选本地登陆----》模拟打勾用此安全上下文进行,输入用户与密码
我有两库 DBa,DBb
分别有表 tbA,tbB 结构一样。
现在我要将 tbA中的数据写入tbB
使用存储过程:CREATE PROC t
AS
BEGIN
INSERT DBb.dbo.tbB SELECT * FROM DBa.dbo.tbA
END虽然很简单,其实只要用一个查询语句就可以解决问题,我这里写成存储过程仅仅是为了举个例子给楼主