Postgres akzeptiert keinen Tabellenalias vor dem Spaltennamen
Ich bin mit einem Rahmen (Jodd) ist das hinzufügen der Tabelle alias für den Spaltennamen in einer SQL-Select. Es sieht aus wie wohlgeformte SQL, aber Postgres drosseln.
update GREETING Greeting
set Greeting.ID=5,
Greeting.NAME='World',
Greeting.PHRASE='Hello World!'
where (Greeting.ID=5)
gibt einen Fehler:
Error: ERROR: column "greeting" of relation "greeting" does not exist
SQLState: 42703
Gibt es einen Weg, um Postgres zu akzeptieren, dass SQL? Meine andere alternative ist, die hack-framework, das ich nicht tun will.
InformationsquelleAutor der Frage Ron Romero | 2012-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass Sie die alias-Tabelle in
SET
- Klausel, die in den Spalten. Finden Sie in der Dokumentation vonUPDATE
in der PostgreSQL-docs:Dies gilt in Postgres:
InformationsquelleAutor der Antwort ypercubeᵀᴹ
Versuchen Sie, das neueste Jodd, v3.3.7. wo dieses Problem behoben ist.
War das problem in der Bibliothek Jodd: entity-update-Methoden generieren update-Anweisung mit der Tabelle aliases. Die neue version funktioniert einfach nicht tabellenaliase; das funktioniert für Postgres und für andere Datenbanken zu.
InformationsquelleAutor der Antwort igr
Dokumentation auf
UPDATE
- Anweisung, die speziell für die Spalte Teil: es ist illegal, Präfix-Spalten mit Tabellen-alias in derSET
- Klausel.InformationsquelleAutor der Antwort vyegorov