oracle触发器判断记录是否存在

[复制链接]
查看11 | 回复5 | 2006-12-29 17:11:00 | 显示全部楼层 |阅读模式
请教一个问题,2个表tab1,tab2,在tab1上建了insert触发器,
要求手动向tab1的a字段插入记录时,自动往tab2的b字段插入相应的记录
,在插入前需要作一判断,判断一下tab2的b字段是否已经存在这条记录,
如果存在就不插入,不存在则插入.
回复

使用道具 举报

千问 | 2006-12-29 17:11:00 | 显示全部楼层
select count(*) into v_count where ...
if v_count=0 then
insert into tab2(..)
end if;
是你想要的么


回复

使用道具 举报

千问 | 2006-12-29 17:11:00 | 显示全部楼层
create or replace tigger after_insert_tab1
after insert on tab1
for each row
declare
v_countnumber(10);
begin
select count(*) into v_count from tab2 where .........
if v_count=0 then
insert into tab2 values(......);
end if;
end;
是不是这样?
回复

使用道具 举报

千问 | 2006-12-29 17:11:00 | 显示全部楼层
建一个游标判断是否有值就行
回复

使用道具 举报

千问 | 2006-12-29 17:11:00 | 显示全部楼层
三楼的行了
回复

使用道具 举报

千问 | 2006-12-29 17:11:00 | 显示全部楼层
用exception 处理效率高,如果已经存在的百分比很小的话。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行