To_date Fehler beim CREATE VEW

Hallo,

ich habe ein Skript, was eine VIEW anlegt.

CREATE OR REPLACE VIEW vxyz AS
SELECT a.*,
(SELECT to_date(blahtimestamp, 'YYYY.MM.DD')

Das führt zum Fehler. Richtig wäre es mit blahtimestamp:text zu casten.

Dieses CREATE scheint schon einige Jahre auf dem Buckel zu haben.

War es in einer alten PG Version so, dass View Definitionen erst bei der Ausführung gecheckt wurden?

Oder gibt es einen Schalter, der die Syntaxprüfung abschaltet? Ich finde nur was zu CREATE FUNCTION.

Ansonsten muss ich diverse CREATE VIEWS nacharbeiten - ist ein größeres liquibase changeset.

Ohne die Fehlermeldung wird’s schwierig.

Aber das (zweite) SELECT ist überflüssig und die Klammerung dafür ist falsch.

Ausserdem fehlt ein FROM

CREATE OR REPLACE VIEW vxyz AS
SELECT a.*, to_date(a.blahtimestamp, 'YYYY.MM.DD')
FROM the_table as a

Ja, das Statement ist syntaktisch falsch. Das kann so nie funktionieren.

CREATE FUNCTION ist anders als CREATE VIEW. PostgreSQL speichert bei einer View niemals den Text des definierenden SELECT-Statements; das Statement wird immer in geparster Form gespeichert. Weiters: Nachdem die View erzeugt worden ist, verhindert PostgreSQL, daß die in der View referenzierten Objekte gelöscht werden.

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