Update für sämtliche Spalten einer Tabelle

Hey,

gibt eine Möglichkeit sämtliche Spalten einer Tabelle upzudaten.

Ich meine das so:

UPDATE meineTabelle SET *  =  BTRIM( * );

Nein, aber es ist einfach so ein Statement zu generieren:

select 'update meinetabelle set '||string_agg(concat(c.column_name, ' = btrim(', c.column_name, ')'), ', ')
from information_schema.columns c
where table_name = 'meinetabelle'
and data_type in ('text', 'character varying');

Danke für die schnelle Antwort.

Kann ich das generierte Statement auch direkt ausführen oder muss ich den Umweg über Php (prepare + execute) gehen?

Hängt von Deinem SQL Tool ab. In psql kannst Du z.B. via \gexec das generierte Statement ausführen.

Wenn Du das innerhalb Deines Programms machen willst, dann musst Du das Resultat des SELECT Statements in eine Variable speichern, und dann mit den Mitteln der Programmiersprache das Statement ausführen.

OK, mache ich so.

Danke für deine Hilfe

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.