创建视图触发器

最近更新时间: 2025-02-18 16:02:00

  • 复制
    复制成功
#创建视图
postgres=# create or replace view t1_view as select * from t1;
CREATE VIEW
postgres=#

#创建触发器函数
postgres=# CREATE OR REPLACE FUNCTION t1_view_insert_trigger_func () RETURNS trigger AS
$body$
BEGIN
    INSERT INTO t1 values(NEW.ID,NEW.nickname);   
    RETURN NEW;
END;
$body$
LANGUAGE 'plpgsql';
CREATE FUNCTION
postgres=#
#创建触发器
postgres=# CREATE TRIGGER t1_view_insert_trigger INSTEAD OF INSERT ON t1_view FOR EACH ROW EXECUTE PROCEDURE t1_view_insert_trigger_func(); 
CREATE TRIGGER
#验证
postgres=# INSERT INTO t1_view values(2,'TDSQL PG');
INSERT 0 1
postgres=# select * from t1;
 id | nickname 
----+----------
  1 | TDSQL PG
  2 | TDSQL PG
(2 rows)