我应用中有两个字段有对应关系
dxlb sfjr
31 是
32 否
现在:
当update insert dxlb
时sfjr中 是 否
是我触发写入的
但是 这导致我 修改sfjr 保存不进去是否能根据表中的某个字段进行触发呢?
或者有什么更高明的方法望赐教!!
dxlb sfjr
31 是
32 否
现在:
当update insert dxlb
时sfjr中 是 否
是我触发写入的
但是 这导致我 修改sfjr 保存不进去是否能根据表中的某个字段进行触发呢?
或者有什么更高明的方法望赐教!!
before insert or update of colname
on tabname
for each row
begin
if inserting then
if ... then :new.colname='xxx';
end if;
end if;
if upd....end trgname;用行级before触发器
直接对:new.sfjr值进行修改
trigger只有表级和行级的,没有字段级别的但是行级trigger的强大功能,足可个满足你的需求,你建立before的trigger,这样就可以通过new和old的判断来实现你的功能,如果要修改值,只需要用:new.fieldname=xxxx的方式赋值就可以了,
同时可以用:old.fieldname=XXXX来进行你的逻辑判断。
列名前加 :old. 表示变化前的值
列名前加 :new. 表示变化后的值
在when子句中不用冒号。
我记得oracle 9i一下的(包括9i)不能修改列名吧?
别到时候瞎忙乎 呵呵