oracle触发器,update一张表时,将update的那一行数据中的部分值更新到另一张表。字段定义一样
我就是这么写的,但是报触发器无效,且未通过验证;CREATEORREPLACETRIGGERtest_triggerBEFOREUPDATEONinp_ta_tranFO...
我就是这么写的,但是报触发器无效,且未通过验证;
CREATE OR REPLACE TRIGGER test_trigger
BEFORE UPDATE ON inp_ta_tran
FOR EACH ROW
BEGIN
INSERT INTO trans_record (sbrlsh,nzycs,szcks,szrks,dzksj)
VALUES (:new.sbrlsh,:new.nzycs,:new.sksdm,:new.sckdm,:new.dcyrq)
END; 展开
CREATE OR REPLACE TRIGGER test_trigger
BEFORE UPDATE ON inp_ta_tran
FOR EACH ROW
BEGIN
INSERT INTO trans_record (sbrlsh,nzycs,szcks,szrks,dzksj)
VALUES (:new.sbrlsh,:new.nzycs,:new.sksdm,:new.sckdm,:new.dcyrq)
END; 展开
2个回答
仁科信息
2024-07-24 广告
2024-07-24 广告
Oracle EBS运维是确保企业资源规划系统稳定、高效运行的关键环节。它涵盖了系统监控、性能优化、故障排查与恢复等多方面内容。通过持续的监控和数据分析,运维团队能够及时发现并解决潜在问题,保障系统的稳定性和安全性。同时,他们还需要与业务部...
点击进入详情页
本回答由仁科信息提供
展开全部
CREATE OR REPLACE TRIGGER TR_t1_u
AFTER UPDATE ON t1---当修改了T1时触发
FOR EACH ROW
BEGIN
update t2 set col1 = :new.col1,col2=:new.col2,...
where id = :old.id; -- id是关键列,不能修改;或者其他关联条件
END;
更多追问追答
追问
才发现我的问题表述有错误。。。
是要‘插入’到另一张新表,表是空的。。。。
追答
那就insert啊
CREATE OR REPLACE TRIGGER TR_t1_u
AFTER UPDATE ON t1---当修改了T1时触发
FOR EACH ROW
BEGIN
insert t2(id,col1,col2,col3,...) values(:new.id,:new.col1,:new.col2,:new.col3,...);
END;
那如果第一次插入后,再次修改后,是插入还是更新?
总之大概这么写。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询