文章目录

数据实例演示

数据

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

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: