sql两表更新问题

数据库有两个表A,B,B表由A复制过去的,但列名不相同,而且A表实时更新,(ID会增长)也就是前一部分都相同;现在想让B表A表ID的增长而添加数据,B表labID已经改为... 数据库有两个表A, B, B表由A复制过去的,但列名不相同,而且A表实时更新,(ID会增长)也就是前一部分都相同;现在想让B表A表ID的增长而添加数据,B表labID已经改为非标识
A表
ID a b c d e time
1 a b c d e 2003.1.2
2....
B表
labID a1 b1 c1 d1 e1 datetime
1 a b c d e 2003.1.2
假设现在B里只有1一行数据,现在需要把新增ID的数据从A 添加到B表中,不能用删除,插入B,也不用管B表现有的数据是否已经修改,只看ID就行,A表ID增加,就把A表增加的所有数据 添加到B表(含ID)
可以先不做实时更新,当然 如果能定时更新最好
上面的语句我已经会了,后面自动执行,触发不合适,需要从远程服务器主动提取数据存到本地服务器,本地服务器再执行上面的操作,基本语句知道,但是怎么 自动执行? 作业?求详细

自动执行语句怎么弄?想每1小时自动执行一些sql 语句
展开
 我来答
_慾哭嘸淚_
2013-11-06 · TA获得超过252个赞
知道小有建树答主
回答量:276
采纳率:60%
帮助的人:139万
展开全部
INSERT INTO B(labID,a1, b1, c1,  d1, e1,  [datetime])
SELECT A.ID,A.a ,A.b, A.c,  A.d, A.e, A.[time]
FROM A
WHERE A.ID NOT IN (SELECT B.labID FROM B)
--解释:
--第1行:插入B表中(字段名)
--第2行:从A表中选出与B表相对应的字段
--第3行:插入B表中的数据来源是A表
--第4行:选出A表中A的ID不在B表中B的labID中的记录
--已经测试运行正常,如有疑问请追问
更多追问追答
追问
如果A在远程服务器上,本地服务器已经建立了远程连接C,A 的数据库名为lims, 这个语句还能否使用
追答
--你说的是跨服务器了?这个我还真没写过
--以下是触发器,只要A表ID新增或修改,就会触发
CREATE Trigger AtoB         --创建触发器 名称:AtoB
ON A                        --在A表中创建触发器 
FOR UPDATE,INSERT           --什么时候事件触发,在这里就是UPDATE和INSERT的时候会执行这个触发器
AS                          --触发器触发后所要执行的语句 
IF Update(ID)
BEGIN
INSERT INTO B(labID,a1, b1, c1,  d1, e1,  [datetime])
SELECT A.ID,A.a ,A.b, A.c,  A.d, A.e, A.[time]
FROM A
WHERE A.ID NOT IN (SELECT B.labID FROM B)
END
showmest
2013-11-06 · TA获得超过123个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:163万
展开全部
a表做个insert的触发器把, 在添加a表数据的同时也往b表添加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式