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

DROP RULE

功能描述

删除一个重写规则。

语法格式

DROP RULE [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ];

参数说明

  • IF EXISTS

    如果该规则不存在,会抛出一个NOTICE。

  • name

    要删除的现存规则名称。

  • table_name

    该规则应用的表名。

  • CASCADE

    自动级联删除依赖于此规则的对象。

  • RESTRICT

    如果有任何依赖对象,则拒绝删除此规则。该值为缺省值。

示例

--创建表def_test、视图def_view_test用于创建RULE
gaussdb=# CREATE TABLE def_test (
c1 int4 DEFAULT 5,
c2 text DEFAULT 'initial_default'
);
gaussdb=# CREATE VIEW def_view_test AS SELECT * FROM def_test;
--创建RULE def_view_test_ins 
gaussdb=# CREATE RULE def_view_test_ins AS
gaussdb=# ON INSERT TO def_view_test
gaussdb=#DO INSTEAD INSERT INTO def_test SELECT new.*;
--删除RULE def_view_test_ins 
gaussdb=# DROP RULE def_view_test_ins ON def_view_test;
--删除表def_test、视图def_view_test
gaussdb=# DROP VIEW def_view_test;
gaussdb=# DROP TABLE def_test;

相关链接

CREATE RULE