SELECT 'ALTER TABLE '||tablename||' ADD COLUMN my_new_column integer' AS update_stmt
FROM pg_tables
WHERE tablename = 'my_table_name'
AND tablename NOT IN (
SELECT table_name
FROM information_schema.columns
WHERE table_catalog = 'my_catalog'
AND table_schema = 'my_schema'
AND table_name = 'my_table_name'
AND column_name = 'my_new_column'
Donnerstag, 26. Mai 2011
ALTER TABLE ADD COLUMN IF EXISTS (Postgres)
Manchmal möchte man eine Spalte in Abhängigkeit von deren Existenz hinzufügen. Da man ALTER TABLE ADD COLUMN IF EXISTS nicht direkt auf eine Postgres Table ausführen kann, ist nachfolgend ein kleiner workaround definiert, der sogar die mögliche Existenz von Tabellen in mehreren DB Schema berücksichtigt.
Abonnieren
Kommentare zum Post (Atom)
Keine Kommentare:
Kommentar veröffentlichen