在postgres数据库中,使用table base1作为视图view1的基表.
如果创建,删除或重命名base1中的列,我想用ddl触发器重新创建视图view1.
create event trigger base1_views on ddl_command_end when tag in( 'ALTER TABLE' ) execute procedure base1_views_fn(); create function base1_views_fn() returns void as $$ declare buf varchar; begin -- is table being altered = 'base'? -- add,drop or renaming a column? buf = 'drop view view1'; execute buf; buf = 'create view view1 as select * from base1 where ...'; execute buf; end; $$language 'plpgsql';