Oracle 触发器 先查询条件是否满足 在判断执行新增还是修改

骑驴快跑 2017-03-06 08:46:57
Oracle 触发器 先查询条件是否满足 在判断执行新增还是修改
表 a1
结构 id name

表2
结构 id name

当像a1中插入一条数据的时候,利用触发器也像a2中插入一条,但前提是先判断a2中有没有a1表id的那条数据,如果有则修改,没有则新增

请问应该怎么写
...全文
1725 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wx_1021 2017-03-07
  • 打赏
  • 举报
回复

create or replace trigger Test
  after insert
  on a1 
  for each row
declare
  -- local variables here
nCount number:=0;
begin
  if inserting then
      select count(*) into nCount from a2 where id=:new.id;
      if nCount > 0 then
         update....
      else
         insert.....
      end if;
  end if;
end Test;
js14982 2017-03-06
  • 打赏
  • 举报
回复
触发器我就不说啥了,大概就这样
CREATE OR REPLACE TRIGGER  trigger_name
   BEFORE UPDATE  OR INSERT 
   ON tab_name
   FOR EACH ROW   
BEGIN
   Merge into ... ;
END;
你要查下merge的详细用法,来写出你的语句

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧