在SQL中怎么样同时对多个表同时插入数据 5
2个回答
展开全部
多表更新问题 建触发器
假设两表为A和B,在对A进行DELETE UPDATE INSERT操作时,同时对表B进行操作
那么就可以通过替换触发器和双表视图实现
比如基于A表和B表的视图
create or replace view my view_A_B
as
BEGIN
select * from A [left,right] join B on A.id = B.id;
with check option;--使表和视图一致;
[with read only;] --使视图只读;
END;
A表进行DML操作时,使用替代触发器,对B表进行更新~
create or replace trigger dml_A_B
AFTER [before] insert [delete,update] on A
FOR EACH ROW
BEGIN
[DML操作 to B]--你想要在A表DML操作时,同时对B表进行什么操作
--比如
INSERT INTO A (id) VALUES(:new.id);
INSERT INTO B (id) VALUES (:new.id);
END;
这样就允许你在视图上进行多表更新了。。
当然具体问题具体分析
我也就说那么个意思 嘿嘿~
假设两表为A和B,在对A进行DELETE UPDATE INSERT操作时,同时对表B进行操作
那么就可以通过替换触发器和双表视图实现
比如基于A表和B表的视图
create or replace view my view_A_B
as
BEGIN
select * from A [left,right] join B on A.id = B.id;
with check option;--使表和视图一致;
[with read only;] --使视图只读;
END;
A表进行DML操作时,使用替代触发器,对B表进行更新~
create or replace trigger dml_A_B
AFTER [before] insert [delete,update] on A
FOR EACH ROW
BEGIN
[DML操作 to B]--你想要在A表DML操作时,同时对B表进行什么操作
--比如
INSERT INTO A (id) VALUES(:new.id);
INSERT INTO B (id) VALUES (:new.id);
END;
这样就允许你在视图上进行多表更新了。。
当然具体问题具体分析
我也就说那么个意思 嘿嘿~
参考资料: http://zhidao.baidu.com/question/65445955.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询