一个触发器问题

[复制链接]
查看11 | 回复4 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
我想插入或者更新一条记录的时候,更新这条记录的一个字段
(要根据插入的值计算出一个数值更新一个字段)
行级的触发器 好像是不可以 操作本表的的数据的
如果是语句级的又会 修改表中所有的记录
这个触发器要怎么写?
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
就是行级触发器了
如果是更新当前触发的这条记录,直接修改new.col_name就可以
如果报错说表发生变异,在触发器中使用自治事务
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
哦我去试下
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
create or replace triggerCOUNT_SCENE_HANDPRINT
after inserton SCENE_HANDPRINT
for each row
DECLARE
  PRAGMA AUTONOMOUS_TRANSACTION
begin
update SCENE_HANDPRINT set RESERVER1= :NEW.CRIMINAL_FLAG;
end;
我这么写错误在那里呢?
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
为什么不先计算好,在插入或更新时一并更新了.

insert into tab (c1,c2) values(v1,substr(v1,1,1))
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行