文章目录
数据实例演示
数据
drop table if exists test cascade;
CREATE TABLE test (
id serial,
info text,
create_time timestamptz
);
CREATE OR REPLACE FUNCTION func_show_trigger_info ()
RETURNS trigger AS
$$
DECLARE
BEGIN
RAISE NOTICE 'NEW: %', NEW;
RAISE NOTICE 'TG_RELID: %', TG_RELID;
RAISE NOTICE 'TG_TABLE_SCHEMA: %', TG_TABLE_SCHEMA;
RAISE NOTICE 'TG_TABLE_NAME: %', TG_TABLE_NAME;
RAISE NOTICE 'TG_RELNAME: %', TG_RELNAME;
RAISE NOTICE 'TG_OP: %', TG_OP;
RAISE NOTICE 'TG_WHEN: %', TG_WHEN;
RAISE NOTICE 'TG_LEVEL: %', TG_LEVEL;
RAISE NOTICE 'TG_NARGS: %', TG_NARGS;
RAISE NOTICE 'TG_ARGV: %', TG_ARGV;
RAISE NOTICE ' TG_ARGV[0]: %', TG_ARGV[0];
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
CREATE TRIGGER trig_test
BEFORE INSERT ON test
FOR EACH ROW EXECUTE PROCEDURE func_show_trigger_info('arg1','arg2');
INSERT INTO test (info,create_time)
VALUES ('info','2022-01-01 01:01:01');
实例演示
postgres=# INSERT INTO test (info,create_time)
postgres-# VALUES ('info','2022-01-01 01:01:01');
NOTICE: NEW: (1,info,"2022-01-01 01:01:01+00")
NOTICE: TG_RELID: 16405
NOTICE: TG_TABLE_SCHEMA: public
NOTICE: TG_TABLE_NAME: test
NOTICE: TG_RELNAME: test
NOTICE: TG_OP: INSERT
NOTICE: TG_WHEN: BEFORE
NOTICE: TG_LEVEL: ROW
NOTICE: TG_NARGS: 2
NOTICE: TG_ARGV: [0:1]={arg1,arg2}
NOTICE: TG_ARGV[0]: arg1
好文阅读
发表评论