oralca触发器.
时间:2011-09-27
来源:互联网
有个表test
当test表里面插入数据并且name是“张三”的话,将名字变成“李四”
这个触发器该怎么写那。(我就想达到上面的目的)
我试验了一下。
create or replace trigger TRG_PHA_COM_APPLYOUT_INSERT
before insert on pha_com_applyout (before:这样写没有问题,但是插入的还是insert进去的值,触发器没有生效
after:这样写的话,update语句就报错)
for each row
declare
v_feecode VARCHAR2(3);
begin
select t.fee_code
into v_feecode
from pha_com_baseinfo t
where t.drug_code = :new.drug_code;
if (v_feecode = '003' and :new.billclass_code = 'P') then
update pha_com_applyout m
set m.billclass_code = '100908181927'
where m.apply_number = :new.apply_number;
end if;
end TRG_PHA_STO_BILLLIST;
当test表里面插入数据并且name是“张三”的话,将名字变成“李四”
这个触发器该怎么写那。(我就想达到上面的目的)
我试验了一下。
create or replace trigger TRG_PHA_COM_APPLYOUT_INSERT
before insert on pha_com_applyout (before:这样写没有问题,但是插入的还是insert进去的值,触发器没有生效
after:这样写的话,update语句就报错)
for each row
declare
v_feecode VARCHAR2(3);
begin
select t.fee_code
into v_feecode
from pha_com_baseinfo t
where t.drug_code = :new.drug_code;
if (v_feecode = '003' and :new.billclass_code = 'P') then
update pha_com_applyout m
set m.billclass_code = '100908181927'
where m.apply_number = :new.apply_number;
end if;
end TRG_PHA_STO_BILLLIST;
作者: sunboy_yf 发布时间: 2011-09-27
SQL code
create table test1 (sname varchar2(30)); create or replace trigger trg_test before insert on test1 for each row declare -- local variables here begin if inserting then if (:new.sname = '张三') then :new.sname := '李四'; end if; end if; end trg_test; / insert into test1(sname) values('王五'); insert into test1(sname) values('马六'); insert into test1(sname) values('张三'); commit; SQL> select * from test1; SNAME ------------------------------ 王五 马六 李四 SQL>
作者: opps_zhou 发布时间: 2011-09-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28