云数据库 GAUSSDB-CREATE RULE:示例

时间:2024-11-13 14:45:58

示例

--创建表tbl_rule1和tbl_rule2用于创建RULE。
gaussdb=# CREATE TABLE tbl_rule1(c1 int,c2 int,c3 int, c4 int);
gaussdb=# CREATE TABLE tbl_rule2(c1 int,c2 int);

--创建规则rule_test,ALSO指定命令在初始事件执行之后在执行。
gaussdb=# CREATE RULE rule_test AS 
    ON INSERT TO tbl_rule1 
    DO ALSO INSERT INTO tbl_rule2 VALUES (new.c1, new.c2);

--向tbl_rule1插入数据,并查看两张表的数据。
gaussdb=# INSERT INTO tbl_rule1 VALUES(1,11,111,1111), (2,22,222,2222);
gaussdb=# SELECT * FROM tbl_rule1;
 c1 | c2 | c3  |  c4  
----+----+-----+------
  1 | 11 | 111 | 1111
  2 | 22 | 222 | 2222
(2 rows)
gaussdb=# SELECT * FROM tbl_rule2;
 c1 | c2 
----+----
  1 | 11
  2 | 22
(2 rows)

--删除规则。
gaussdb=# DROP RULE rule_test ON tbl_rule1;

--删除表。
gaussdb=# DROP TABLE tbl_rule1;
gaussdb=# DROP TABLE tbl_rule2;
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0566.html