不同的数据库不同字段的同步

问题一:有表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的内容?

谢谢!
展开
 我来答
鲜美还清湛灬白桦N
2015-10-21 · TA获得超过621个赞
知道小有建树答主
回答量:404
采纳率:50%
帮助的人:529万
展开全部
--测试环境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.地址,....);
在这些地方加上去就是了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式