ALTER TABLE + Subquery

Hallo, :slight_smile:

hatte letztens das Problem, dass ich in einem Aufwasch den Datentyp einer Spalte in mehreren Tabellen auf denselben Typ ändern wollte.

Das SELECT auf information_schema.columns, um die Namen der betreffenden Tabellen zu ermitteln und der “ALTER TABLE”-Befehl alleine funktionieren natürlich ohne Probleme, nur wie bekommt man die beiden in einen einzigen SQL-Befehl?

Mit Pipen bekommt man es ja auch hin:
select * from depesz;» Blog Archive » grant XXX on * ?

Aber ein einziger SQL-Befehl, den man auch in pgAdmin reinpasten kann, wäre natürlich noch schöner.

Vielen Dank im voraus,

Peter

Schreib Dir halt eine function, Sprachen dafür gibt es ja reichlich.

Andreas

Mit einer function ist das natürlich kein Problem - nur eben umständlicher und kein Einzeiler. :slight_smile:

Du kannst keine DDL- und Datenänderungen kombinieren - warum auch.
Entweder du änderst die Struktur oder du fragst Daten ab. Die Daten können - so du die betroffene Tabelle fragen solltest - innerhalb des Befehls ein Problem sein. Stell dir vor, du löscht eine Spalte und fragst diese gleichzeitig ab …

hallo,
ich habe in einer tabelle ein paar hundert domainnamen (*.de) .

allerdings wurden bei der eingabe datensätze eingegeben, die hinter dem .de noch Leerzeichen enthalten.
wenn ich abfragen wie

select ... where domain = 'test.de';  

stelle, finde ich diese domain nicht, weil leerzeichen enthalten sind :frowning:

mit welcher abfrage finde ich die domains mit leerzeichen?