我有两个环境,每个环境都有不同的触发器名称,我想在两个envs上使用相同的脚本来删除我拥有的触发器...
问题是,当我这样做时:
variable := 'trigger_name';
DROP TRIGGER variable ON my_table;
它尝试DROP一个名为'变量'的触发器。不是' trigger_name'正如我所料...... 我该怎么办呢?
提前谢谢! -B.J。
答案 0 :(得分:3)
您必须将动态SQL与EXECUTE
一起使用。你已经在使用PL / PgSQL,所以只需:
variable := 'trigger_name';
EXECUTE format('DROP TRIGGER %I ON my_table', variable);