SQL数据库中如何从A表自动更新数据到B表?

假设有两张表,A表中有销售订单号,销售日期,货品名称,规格,型号,数量,销售单价,销售金额,审核人字段,B表有订单号,销售日期,货品名称,规格,型号,数量,销售单价,销售... 假设有两张表,A表中有销售订单号,销售日期,货品名称,规格,型号,数量,销售单价,销售金额,审核人 字段,B表有订单号,销售日期,货品名称,规格,型号,数量,销售单价,销售金额,订单是否下达 字段, 希望当A表有新插入数据时并且审核人不为空时,自动更新到B表,当A表审核人为空时,自动删除B表中对应的数据,是如果B表中订但单是否下达标志为Y时,则不删除,当B表中订单是否下达标志为空时,则删除。 展开
 我来答
yijie_bi_pre
2013-08-05 · TA获得超过211个赞
知道答主
回答量:46
采纳率:0%
帮助的人:34.7万
展开全部
SQL不能做这样的逻辑判断吧,应该使用java语言或者其他语言来控制判断吧,设置一下多表关系,然后在后台读出做判断,在通过使用hibernate关联关系,把表设成2个关联的对象。。。当你判断是需要增加的时候,把两个对象互相加到对方的对象中就可以(要注意的是在对象类:表中,要设定对方对象的属性),不知道能否给你带来有用的信息,望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qianwei1113
2013-08-05
知道答主
回答量:34
采纳率:0%
帮助的人:14.7万
展开全部
写一个insert触发器在A表上
自己根据想要的条件应该懂一点的就应该能写出来
insert触发器在你插入数据到A表的时候,你的数据在系统默认的inserted表中存着,你可以在这里面找条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
润泽且素淡灬瑰宝h
推荐于2018-05-15 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3561
采纳率:3%
帮助的人:1849万
展开全部
要实现两个表之间的数据的自动更新,可以采用触发器来实现,触发器的实现方法:
1、A表有数据更新的时候自动更新B表:
create or replace trigger tg after update on A for each row
begin
update B set xx=xx where b.aid = a.id;
end;
/
2、A表插入数据时,B表更新数据:
create or replace trigger tgg after insert on A for each row
begin
insert B values(xxxx);
end;
/
如果不需要每条数据都跟新,只需要在每次A更新的时候更新B,可以将后面的for each row去掉。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
h821463015
2013-08-05 · TA获得超过723个赞
知道答主
回答量:108
采纳率:0%
帮助的人:46.7万
展开全部
写个触发器trigger
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chen_hongyang
推荐于2017-11-26 · TA获得超过5446个赞
知道大有可为答主
回答量:2790
采纳率:91%
帮助的人:837万
展开全部
使用触发器
create trigger 触发器名称
on A
as
begin
declare @审核人 varchar(100)
select @审核人 = 审核人 from inserted
if @审核人 <> null
insert B ( 列名全写出来 )
else
delete B where 条件 and 标志 <> 'Y'
end
追问
如果我只是从A表中选择几列来进行插入到B表,是否要写对应插入到B的哪几列的?
追答
插入的话不用写对应到表B的哪几列的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式