蜗牛,在赛跑

--努力去改变吧
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL SERVER 2000怎样跨数据库建立表与表之间的关系

Posted on 2008-07-21 08:48  body  阅读(1032)  评论(0)    收藏  举报

--使用联结服务器
--填加联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
--创建或更新本地 Microsoft? SQL Server? 实例上的登录与链接服务器上远程登录之间的映射。
exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go


--主键重复的时候这样
insert 库名.dbo.表名
select * from 别名.库名.dbo.表名 where id not in (select id from 库名.dbo.表名)

-----------------------------------------------------------------------------------

 

 

数据库都在一台机器上的话,你可以
insert 数据库B名称..tablenanme
select * from 数据库A名称..tablename
 
 
触发器将两张表同步!!!!
两张表同步:

CREATE TRIGGER 名1 ON dbo.tabMain
FOR INSERT
AS
insert db2..tabSlave select * from inserted
go

CREATE TRIGGER 名2 ON dbo.tabMain
FOR update
AS
update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号
go

CREATE TRIGGER 名3 ON dbo.tabMain
FOR delete
AS
delete db2..tabSlave where 编号 in (select 编号 from deleted)

但不可以建立关系