ALTER TRIGGER
功能描述
ALTER TRIGGER语句用于修改触发器名称。
目前只支持修改触发器的名称。
注意事项
触发器所在表的所有者或者被授予了ALTER ANY SEQUENCE权限的用户可以执行ALTER TRIGGER操作,系统管理员默认拥有此权限。
语法格式
ALTER TRIGGER trigger_name ON table_name RENAME TO new_name;
参数说明
- trigger_name
要修改的触发器名称。
取值范围:已存在的触发器。
- table_name
要修改的触发器所在的表名称。
取值范围:已存在的含触发器的表。
- new_name
修改后的新名称。
取值范围:符合标识符命名规范的字符串,最大长度不超过63个字符,且不能与所在表上其他触发器同名。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
--创建源表及触发表。 gaussdb=# CREATE TABLE test_trigger_src_tbl(id1 INT, id2 INT, id3 INT); gaussdb=# CREATE TABLE test_trigger_des_tbl(id1 INT, id2 INT, id3 INT); --创建DELETE触发器函数。 gaussdb=# CREATE OR REPLACE FUNCTION TRI_DELETE_FUNC() RETURNS TRIGGER AS $$ DECLARE BEGIN DELETE FROM test_trigger_des_tbl WHERE id1=OLD.id1; RETURN OLD; END $$ LANGUAGE plpgsql; --创建DELETE触发器。 gaussdb=# CREATE TRIGGER delete_trigger BEFORE DELETE ON test_trigger_src_tbl FOR EACH ROW EXECUTE PROCEDURE tri_delete_func(); --修改触发器的名称。 gaussdb=# ALTER TRIGGER delete_trigger ON test_trigger_src_tbl RENAME TO delete_trigger_renamed; --删除触发器。 gaussdb=# DROP TRIGGER delete_trigger_renamed ON test_trigger_src_tbl; --删除函数。 gaussdb=# DROP FUNCTION tri_delete_func; --删除源表及触发表。 gaussdb=# DROP TABLE test_trigger_src_tbl; gaussdb=# DROP TABLE test_trigger_des_tbl; |