不同的数据库不同字段的同步
问题一:有表1和表2表1有id,姓名,电话,地址表2有jid,name,tel,add表1为空;怎么导入表2的内容?对应:表1id=表2jid,表1姓名=表2name,依...
问题一:
有表1和表2
表1有id,姓名,电话,地址
表2有jid,name,tel,add
表1为空;怎么导入表2的内容?
对应:表1id=表2jid,表1姓名=表2name,依次类推;
问题二:
表1新增内容的时候,如何更新表2的内容?
谢谢! 展开
有表1和表2
表1有id,姓名,电话,地址
表2有jid,name,tel,add
表1为空;怎么导入表2的内容?
对应:表1id=表2jid,表1姓名=表2name,依次类推;
问题二:
表1新增内容的时候,如何更新表2的内容?
谢谢! 展开
1个回答
展开全部
--测试环境mssql2008
--表1在数据库1
Create TAble 表1
(
id int,
姓名 varchar(10),
电话 Varchar(20),
地址 Varchar(30)
)
--表2在数据库2
Create Table 表2
(
jid int,
name Varchar(10),
tel Varchar(20),
[add] Varchar(30)
)
--问题一
--在数据库1执行
insert into 表1(id,姓名,电话,地址)
select ID,name,tel,[add] from 数据库2.dbo.表2
--问题二
--创建触发器
--表1新增同步表2,按id对应,如果不存在则新增,否则就更新
--在数据库1执行
create trigger tr_insert on 表1
for insert
as
begin
Merge 数据库2.dbo.表2 As A
using
(
select * from inserted
) B
on A.jid=B.id
When matched Then
Update Set A.name=B.姓名,
A.Tel=B.电话,A.[add]=B.地址
When not matched Then
Insert Values(B.id,B.姓名,B.电话,B.地址);
End
追问
有几个字段是 not null
我知道字段是:gender应该是1,create=999
应该怎么写呢?
追答
insert into 表1(id,姓名,电话,地址,...)
select ID,name,tel,[add],... from 数据库2.dbo.表2
Update Set A.name=B.姓名,
A.Tel=B.电话,A.[add]=B.地址,...
When not matched Then
Insert Values(B.id,B.姓名,B.电话,B.地址,....);
在这些地方加上去就是了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询