oracle 触发器

zouzhou1984 2008-01-17 11:45:48
有三张表 tab1,tab2,tab3,
我想在一个表tab1上建立插入触发器,当插入一条数据时,再搜索tab2中的数据,再将搜索到的数据插入到tab3中。
oracle中没有像sql中的 selected ,inserted,表阿

...全文
107 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我心飞翔 2011-11-05
  • 打赏
  • 举报
回复
是要根据在TAB1中插入的数据,来搜索TAB2中的数据,然后再将搜索到的符合条件的记录插入到TAB3中吗?
opps_zhou 2011-11-05
  • 打赏
  • 举报
回复
考古专家

[Quote=引用 4 楼 owen00sun 的回复:]

create or replace TRIGGER TR_TEST1
AFTER INSERT ON TAB1
FOR EACH ROW
DECLARE V_COUNT NUMBER;V_ID NUMBER;V_NAME VARCHAR2(10);
BEGIN
SELECT COUNT(*) INTO V_COUNT FROM TAB2 WHERE id=:new.id;
……
[/Quote]
SaintTinyBoy 2011-11-04
  • 打赏
  • 举报
回复
create or replace TRIGGER TR_TEST1
AFTER INSERT ON TAB1
FOR EACH ROW
DECLARE V_COUNT NUMBER;V_ID NUMBER;V_NAME VARCHAR2(10);
BEGIN
SELECT COUNT(*) INTO V_COUNT FROM TAB2 WHERE id=:new.id;
IF V_COUNT=1 THEN
SELECT ID,NAME INTO V_ID,V_NAME FROM TAB2 WHERE id=:new.id;
INSERT INTO TAB3 VALUES(V_ID,V_NAME);
ELSE NULL;
END IF;
END
;
zouzhou1984 2008-01-17
  • 打赏
  • 举报
回复
vc555能不能给出代码阿,万分感谢
vc555 2008-01-17
  • 打赏
  • 举报
回复
你看看语法,再用after insert on tab1 [for each row]
kivenchen24 2008-01-17
  • 打赏
  • 举报
回复
触犯器可以做到,为什么说做不到呢?

17,377

社区成员

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

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