create or replace trigger TEST_TRG
BEFORE insert on a
for each row
DECLARE
STR VARCHAR2(10);
begin
IF :NEW.X=1 THEN
UPDATE A SET count_x=count_x+1 WHERE ROWNUM=1;
END IF;
IF :NEW.X=0 THEN
UPDATE A SET count_y=count_y+1 WHERE ROWNUM=1;
END IF ;
end TEST_TRG;
BEFORE insert on a
for each row
DECLARE
STR VARCHAR2(10);
begin
IF :NEW.X=1 THEN
UPDATE A SET count_x=count_x+1 WHERE ROWNUM=1;
END IF;
IF :NEW.X=0 THEN
UPDATE A SET count_y=count_y+1 WHERE ROWNUM=1;
END IF ;
end TEST_TRG;
解决方案 »
- oracle触发器问题
- 求个sql,怎么取满足3个条件的交集阿?
- 问一个数据库表空间转移的问题
- 用批处理文件如何调用oracle中的procedure?
- 我用oracle10g配置连接 oracle 8.17 连接测试不成功,出现下面的错误,你知道为什么吗?
- 大G们,帮帮我啊!
- 语句的改进问题
- oracle 怎么注册成linux服务?也就是linux启动以后自动启动oracle数据库。
- oracle 存储过程 Error: PLS-00103: 出现符号 "GETALLPAYMENTAPPLY"在需要下列之一时: if
- 如何在plsql里调用dbms_java下的函数
- sql语句问题
- 一个存储过程,本身就是一个事物吗?
BEFORE insert on table_b
for each row
DECLARE
STR VARCHAR2(10);
begin
IF :NEW.X=1 THEN
update table_a set count_x=count_x+1 WHERE ROWNUM=1;
END IF;
IF :NEW.X=0 THEN
update table_a set count_y=count_y+1 WHERE ROWNUM=1;
END IF ;
end trg_b_a;
before insert on table_b
for each row
begin
IF :NEW.X='1' THEN
update table_a set count_x=count_x+1 WHERE id=:new.id and ROWNUM<=1;
END IF;
IF :NEW.X='0' THEN
update table_a set count_y=count_y+1 WHERE id=:new.id and ROWNUM<=1;
END IF ;
end trg_b_a;
BEFORE insert on table_b
for each row
DECLARE
STR VARCHAR2(10);
begin
IF :NEW.X=1 THEN
update table_a set count_x=count_x+1 WHERE ROWNUM=1;
END IF;
IF :NEW.X=0 THEN
update table_a set count_y=count_y+1 WHERE ROWNUM=1;
END IF ;
end trg_b_a;