Testen, ob Spalte vorhanden ist

From: Martin Spott <Martin(dot)Spott(at)mgras(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Testen, ob Spalte vorhanden ist
Date: 2006-05-31 22:39:38
Message-ID: e5l5va$16os$1@osprey.mgras.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Tach zusammen,
um fuer einen Kopier-Job von einer Tabelle in 'ne andere Tabelle
festzustellen, ob in der Zieltabelle eine bestimmte Spalte "nam"
vorhanden ist, bemuehe ich folgendes Konstrukt - welches mir
genaugenommen die Anzahl an Spalten mit dem Bezeichner "nam"
zurueckliefert, logischerweise also Null oder Eins:

=> select count(pg_class.relname) from pg_class, pg_attribute
where pg_attribute.attname = 'nam'
and pg_class.oid = pg_attribute.attrelid
and pg_class.relname = '<Zieltabelle>';

Dann weiss ich sicher, ob ich die Spalte "nam" mitkopieren darf oder
nicht - geht das eigentlich auch einfacher ? :-)
Es geht mir nicht um die Laufzeit des Konstruktes, das wird nur alle
paar Jahrhunderte aufgerufen. Vielmehr frage ich mich, ob es sowas
schon vorgefertigt gibt - vielleicht in einer Form, die nicht
ausschliesslich auf unserer bevorzuten DB laeuft.

Tschuess,
Martin.
--
Unix _IS_ user friendly - it's just selective about who its friends are !
--------------------------------------------------------------------------

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas Seltenreich 2006-05-31 23:57:16 Re: Testen, ob Spalte vorhanden ist
Previous Message Cornelia Boenigk 2006-05-31 15:41:45 Re: Neu dabei und vermutlich -> nur ein Haufen