更新时间:2024-06-03 GMT+08:00

DROP EVENT

功能描述

用于删除定时任务。

注意事项

定时任务相关操作只有sql_compatibility = 'B'时支持。

语法格式

DROP EVENT [IF EXISTS] event_name;

参数说明

  • IF EXISTS

    如果定时任务不存在,会输出一个NOTICE。

示例

--创建并切换至测试数据库。
gaussdb=# CREATE DATABASE test_event WITH DBCOMPATIBILITY = 'b';
gaussdb=# \c test_event

--创建表。
test_event=# CREATE TABLE t_ev(num int);

--创建一个执行一次的定时任务,五秒后执行一次,执行完后定时任务自动删除。
test_event=# CREATE EVENT IF NOT EXISTS event_e1 ON SCHEDULE AT sysdate + interval 5 second DO INSERT INTO t_ev VALUES(0);

--五秒后查询表。
test_event=# SELECT * FROM t_ev;
 num 
-----
   0
(1 row)

--创建一个每隔一分钟执行一次的定时任务。
test_event=# CREATE EVENT IF NOT EXISTS event_e2 ON SCHEDULE EVERY 1 minute DO INSERT INTO t_ev VALUES(1);

--每隔一分钟查询表,会看到新增一条数据。
test_event=# SELECT * FROM t_ev;
 num 
-----
   0
   1
   1
(3 rows)

--删除定时任务。
test_event=# DROP EVENT event_e2;

--删除表。
test_event=# DROP TABLE t_ev;

--切换回初始数据库,并删除测试数据库。请用真实的数据库名替换postgres。
test_event=#\c postgres
gaussdb=# DROP DATABASE test_event;