create trigger b_tri
before insert on b
for each row
declare
num number;
begin
select count(1) into num from b where id=:new.id;
if num=1 then
update a set date=:new.date where id=:new.id;
end if;
end;
/
before insert on b
for each row
declare
num number;
begin
select count(1) into num from b where id=:new.id;
if num=1 then
update a set date=:new.date where id=:new.id;
end if;
end;
/
解决方案 »
- oracle存储过程中的临时表错误
- [高手留下]数据库中因为表格中的内容过大,需要分割成两部分,又不能影响系统的运行!求解决方案!
- 用toad导入文本中的数据进入数据库中的表怎么失败,提示表 TAB_STAR_ANS 出现错误ORA-01401: 插入的值对于列过大。
- 我要查与某条记录相隔时间最端的哪条记录的sql怎么写?
- 请问oracle,sql server 和IBM DB2分别用于什么场合?谢谢
- 如何重新编译无效的存储过程?
- 在oracle 8.1.7下面创建存储过程时碰到的棘手问题
- 请教高手:实现一个从3300万记录中汇总排序查询,需把sort_area_size设置为多大合适?能否超过shared_pool_size?这有什么规定?(急!!
- 要实现以下表结构怎么弄?
- 求助大神解决行列变换问题Oracle
- 100分的问题 求forms开发的电子书籍
- 大家看看我这个存储过程有什么问题
你好!有个问题想请教。B表中本身有数据,select count(1)的值指什么,感觉上不可能为1,触发器能实现其触发条件吗,请指教。
if num=0 then
update a set date=:new.date where id=:new.id;
end if;
if num=0 then
update a set date=:new.date where id=:new.id;
end if;
触发器没机会执行了!
防且if num=0 then这个条件不会影响下面语句执行,你测试一下就知道了