多用了一层begin_end。
CREATE OR REPLACE TRIGGER "TTT"."AAA" AFTER INSERT
ON "AAA" FOR EACH ROW
DECLARE
max_time AAA.DATA_TIME%TYPE;
BEGIN
SELECT MAX(AAA) INTO max_time From AAA;
DELETE FROM AAA WHERE DATA_TIME<=max_time-1/48;
END;
CREATE OR REPLACE TRIGGER "TTT"."AAA" AFTER INSERT
ON "AAA" FOR EACH ROW
DECLARE
max_time AAA.DATA_TIME%TYPE;
BEGIN
SELECT MAX(AAA) INTO max_time From AAA;
DELETE FROM AAA WHERE DATA_TIME<=max_time-1/48;
END;
解决方案 »
- oracle开窗函数到底有哪些啊,谁能一一举个例不
- 请问出现SP2-0552: 未说明结合变量是什么原因
- oracleorahome92tnslistener服务不能启动,说windows内部错误,怎么回事
- oracle怎样查看命令帮助像t-sql联机帮助,输入命令就可以查到该命令的用法以及例子。
- oralce单点故障能否自动切换???
- 如何授权其它用户执行过程。
- 怎么把ORACLE企业管理器中表的创建语句显示出来??
- 怎样设定 DBLINK 的连接时间? 即timeout!
- 安装Oracle开发工具
- 按某时间段查询统计这个时间段(如20160101-20160601)一周内重复2次以上的频率
- 关于linux下的proc程序运行
- 请教一个触发器问题?谢谢!
as
max_time AAA.DATA_TIME%TYPE;
begin
SELECT MAX(AAA) INTO max_time From AAA;
DELETE FROM AAA WHERE DATA_TIME<=max_time-1/48;
end;
/
CREATE OR REPLACE TRIGGER "TTT"."AAA" AFTER INSERT
ON "AAA"
FOR EACH ROW
BEGIN
insert_delete;
END;
/
CREATE OR REPLACE TRIGGER "TTT"."AAA"
AFTER INSERT ON "AAA"
declare
max_time AAA.DATA_TIME%TYPE;
begin
SELECT MAX(AAA) INTO max_time From AAA;
DELETE FROM AAA WHERE DATA_TIME<=max_time-1/48;
END;
可采用JOB运行存储过程的方式解决
换成after insert on 就不正确了?
after表示在完成insert动作以后触发事件!