批量删除表
DO $$
DECLARE
d varchar(128);
BEGIN
FOR d IN select 'drop table '||schemaname||'.'||tablename||';' from pg_tables where schemaname||'.'||tablename like '%public.fc\_o\_%'
loop
EXECUTE d;
END LOOP;
END;
$$
批量修改表
DO $$
DECLARE
d varchar(128);
BEGIN
FOR d IN select 'ALTER TABLE '||schemaname||'.'||tablename|| ' ADD COLUMN IF NOT EXISTS "branch" int8 DEFAULT 1;' from pg_tables where schemaname||'.'||tablename like '%public.fc\_item\_%'
loop
EXECUTE d;
END LOOP;
END;
$$
需要注意的是这里的表名带有下划线,要有转义字符