解决方案 »
- rhel-server-5.4安装oracle11gr2失败,提示Exception in thread "main"
- 有高人知道sqlplus 在linux 中默认路径是什么?
- Oracle自增字段问题
- developer suite链接到oracle服务器
- 海量数据中的表的转换问题(没有分了 就这些了 请大家见谅)
- 安装oracle11g有这些文件找不到怎么办?
- 数据库中的表容易被锁掉,请问怎么解锁?急!!~~
- 服务器重启导致job没有执行,Oracle如何自动校验和恢复?
- 如何查看oracle的数据库模式?
- Oracle Database11g怎么设置并使用外部的JDK1.8
- 生产库上有2个service_name,这是怎么回事呢?
- 各路大神,小弟该学数据库了,求指点
(
ID INT,
PARID INT,
CON_NAME VARCHAR2(100),
CON_DATE DATE,
CON_MONDY NUMBER(5,2),
BALANCE NUMBER(5,2)
);
---新添加的列BALANCE 余额---添加数据用于测试
insert into TAB_CONSUME values(1,1,'买好吃的',sysdate,100,100.71);
insert into TAB_CONSUME values(2,1,'买茶叶',sysdate,1,101.71);
insert into TAB_CONSUME values(3,1,'买书本',sysdate,500,601.71);
COMMIT;---创建触发器
CREATE OR REPLACE TRIGGER TR_UPDATE_BALANCE
AFTER INSERT ON TAB_CONSUME
DECLARE
V_PARID INT;
V_ID INT;
V_CON_MONDY NUMBER(5,2);
V_BALANCE NUMBER(5,2);
BEGIN
SELECT ID,PARID,CON_MONDY INTO V_ID,V_PARID,V_CON_MONDY FROM TAB_CONSUME WHERE ID=(SELECT MAX(ID) FROM TAB_CONSUME);
SELECT BALANCE INTO V_BALANCE FROM TAB_CONSUME WHERE ID=(SELECT MAX(ID) FROM TAB_CONSUME WHERE PARID=V_PARID AND BALANCE>0);
UPDATE TAB_CONSUME SET BALANCE=V_BALANCE+V_CON_MONDY WHERE ID=V_ID;
END;
/
---开始测试insert into TAB_CONSUME values(4,1,'买书本',sysdate,1,0);