都还给老师了诶。 偶尔要用 实在是想不起来了。隔壁电脑 (IP 192.168.0.2 , 账号“sa”密码“123”) 上的 数据库A 里一个表 A1 ,
A1表如下图 :
a b c
1 10 20 30
2 13 14 16
现在,我要在我自己的数据库 B 里 的 表B1 中 增加一行数字。
B1表 如下图 :
a b c d
1 3 4 5 4
2 2 2 1 1增加 一行 数, a:4 b: 5 c:3 d: d的数字即 A1表中b那一列的 第一个数20
A1表如下图 :
a b c
1 10 20 30
2 13 14 16
现在,我要在我自己的数据库 B 里 的 表B1 中 增加一行数字。
B1表 如下图 :
a b c d
1 3 4 5 4
2 2 2 1 1增加 一行 数, a:4 b: 5 c:3 d: d的数字即 A1表中b那一列的 第一个数20
insert into B1 SELECT 4,5,3,select top 1 b from OPENDATASOURCE('sqloledb','data source=192.168.0.2;user id=sa;password=123').数据库A..A1
insert into b (a,b,c,d)
select 4,5,3,
(
SELECT top 1 b
FROM OPENROWSET('SQLOLEDB',
'server=192.168.0.2;uid=sa;pwd=123', --字符串
A.dbo.A) --直接写你的数据库和表的名称
) as d
select 4,5,3,
(
SELECT top 1 b
FROM OPENROWSET('SQLOLEDB',
'server=192.168.0.2;uid=sa;pwd=123', --字符串
A.dbo.A1) --直接写你的数据库和表的名称
) as d
Function:创建连接服务器
Author:Bean
Date:2012-07-23
*********************************************************************************************/
--方法1:创建连接服务器
--判断是否已存在该连接服务器,如果存在删除
if exists(select 1 from sys.servers where name='LinkServer_BEAN')
Begin
exec master.dbo.sp_dropserver @server='LinkServer_BEAN',@droplogins='droplogins'
End
--创建连接服务器
exec sp_addlinkedserver
@server='SUNDB', --Linked Server Name
@srvproduct='', --Product Name
@provider='SQLOLEDB', --Provider
@datasrc='127.0.0.1' --Data Address
Go
exec sp_addlinkedsrvlogin
@useself='false',
@rmtsrvname='SUNDB', --Linked Server Name
@rmtuser='123', --User ID
@rmtpassword='123' --Password
那个,如果 要引用的是A1表 b列 中的第二个 数值 应该怎么写呢你用的是sql server 2005以后的版本不,如果是2005以后的版本,比较容易,你试试:
insert into B1(a,b,c,d)
select 4,5,3,
(
select b
from
(
SELECT *,
row_number() over(order by getdate()) as rownum
FROM OPENROWSET('SQLOLEDB',
'server=192.168.0.2;uid=sa;pwd=123', --字符串
A.dbo.A1) --直接写你的数据库和表的名称
)t
where rownum = 2
) as d