小编菜合馍*_*合馍馍的帖子

如何为创建表或选择创建事件触发器

我想为创建表或选择创建事件触发器,例如:当创建表 xxxx 时必须将表名用“temp”变大

我的代码

    CREATE OR REPLACE FUNCTION create_table_func()
    RETURNS event_trigger
    AS
    $$
    DECLARE
          V_TABLE name := TG_TABLE_NAME;

BEGIN

    if V_TABLE !~ '^temp'

    then

      RAISE EXCEPTION 'must bigen with temp';

    end if;

END;
$$ LANGUAGE plpgsql SECURITY DEFINER;

CREATE EVENT TRIGGER create_table_1 ON ddl_command_start

WHEN TAG IN ('SELECT INTO')

EXECUTE PROCEDURE create_table_func();
Run Code Online (Sandbox Code Playgroud)

但是当从 test_bak 执行 select * into test11 时

[Err] 错误:列“tg_table_name”不存在

postgresql event-triggers

4
推荐指数
1
解决办法
3500
查看次数

标签 统计

event-triggers ×1

postgresql ×1