View: FEHLER: Relation »public.vbirthday« existiert nicht

hi alle

Ich bin nicht grade ein Anfänger auf Datenbanken, aber unter Postgres wohl doch. :astonished: ops:

Es wird eine View erstellt, welche mit folgendem Statement erstellt worden ist:

CREATE OR REPLACE VIEW “public”.“vBirthday”
AS
SELECT date_part(‘year’::text, xdatagroupebda9fed.dt_dateofbirthdatetim_957a48b8) AS dateteil FROM xdatagroupebda9fed ORDER BY date_part(‘year’::text, xdatagroupebda9fed.dt_dateofbirthdatetim_957a48b8);

Das erstellen der View funktioniert sauber. Auf ein Abfrage mit

select * from public.vBirthday

erhalte ich jedesmal den Fehler
FEHLER: Relation »public.vbirthday« existiert nicht

Damit kann ich eigentlich nicht anfangen, finde auch in der offizellen Literatur nichts darüber. Auch nirgends ein Hinweis, dass das erstellen der View anders ist als z.B. Oracle, MySQL usw.

Hat jemand eine Idee oder Hilfestellung ?

Thx, Markus

hi,

probier mal ein

select * from “public”.“vBirthday”;

btw: musst du das public überhaupt mit angeben oder reicht ein from vBirthday auch?

cu tb.

Hi Xandrian

wow, beides funktioniert !
Soll mal einer drauf kommen.

Müssen denn bei Abfragen auf Views das Schema bzw. der Viewname in “” sein ?

hab nirgends was gelesen…

ne eigentlich nicht. aber ich kann mich erinnern bei der benutzung mit schemas das in “” gesehen zu haben.

ohne schema sollte es ohne “” gehen…

cu tb.

Also bei mir gehts nur mit “” auch ohne schema.

Aber wenn es funzt wollen wir ja nicht immer genau bis auf’s letzte Bit alles von allem wissen…

Danke bestens.

Markus

Hallo Markus,

als Einsteiger in ein neues Produkt übersieht man schnell etwas. Hier ein Auszug aus der deutschen Doku:

Wenn man einen Namen in Anführungszeichen setzt, dann spielt auch die Groß- und Kleinschreibung
eine Rolle, wohingegen Namen ohne Anführungszeichen in Kleinbuchstaben umgewandelt werden. So
sind zum Beispiel FOO, foo und “foo” derselbe Name, aber “Foo” und “FOO” bezeichnen Namen, die
sich von den ersten drei und voneinander unterscheiden.

Eine ausführliche Beschreibung findest Du im Kapitel “4.1 Lexical Structure”.


Dein Probelm ist also die Namensgebung, die Du durch

CREATE OR REPLACE VIEW "public"."vBirthday"

vorgegeben hast. Wenn es nicht unbedingt notwendig ist, verzichte auf Namen in Anführungszeichen.

Die Angabe des Schema-Namens ist auch nicht notwendig, solange Du nicht mit mehreren Schemen arbeitest und in den Schemen ein Name verwendet wird, der in anderen Schemen auch vorhanden ist.



mfg

fristo