Ich bin nicht grade ein Anfänger auf Datenbanken, aber unter Postgres wohl doch. 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.
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.