You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.5 KiB
28 lines
1.5 KiB
select 'DO $$ BEGIN BEGIN ALTER TABLE '||relname||' ADD COLUMN recordyear int4; EXCEPTION WHEN duplicate_column THEN RAISE NOTICE ''column recordyear already exists''; END; END;$$;' as tabname from pg_class c
|
|
where relkind = 'r' and relname like 'j%_r' and relname not like 'pg_%' and relname not like 'sql_%' order by relname;
|
|
|
|
|
|
|
|
select 'update ' || relname || ' set recordyear=2019;' as sqlstr from pg_class c
|
|
where relkind = 'r' and relname like 'j%_r' and relname not like 'pg_%' and relname not like 'sql_%' order by relname;
|
|
|
|
|
|
|
|
-- 设置默认值
|
|
select 'DO $$ BEGIN BEGIN ALTER TABLE '||relname||' ALTER COLUMN recordyear SET DEFAULT 2020; EXCEPTION WHEN duplicate_column THEN RAISE NOTICE ''column recordyear already exists''; END; END;$$;' as tabname from pg_class c
|
|
where relkind = 'r' and relname like 'j%_r' and relname not like 'pg_%' and relname not like 'sql_%' order by relname;
|
|
|
|
|
|
-- 删除默认值
|
|
ALTER TABLE table_name ALTER COLUMN column_name DROP DEFAULT;
|
|
|
|
|
|
select 'alter table '||pg_class.relname || ' drop constraint '|| pg_constraint.conname ||';' as pk_name from
|
|
pg_constraint inner join pg_class
|
|
on pg_constraint.conrelid = pg_class.oid
|
|
inner join pg_attribute on pg_attribute.attrelid = pg_class.oid
|
|
and pg_attribute.attnum = pg_constraint.conkey[1]
|
|
inner join pg_type on pg_type.oid = pg_attribute.atttypid where pg_attribute.attname='rowid'
|
|
-- where pg_class.relname = 'teacher'
|
|
and pg_constraint.contype='p'
|