Hallo,
ich bin dabei eine Regel zu erstellen um Insert über eine view zu machen. Darüber habe ich hier auch Themen gefunden an die ich mich gerne mit meiner Frage angehängt hätte, aber die Themen sind geschlossen. Deshalb ein neues Thema.
CREATE RULE "insert_view_versteigerung" AS ON INSERT TO "view_versteigerung" DO INSTEAD(
INSERT INTO "tbl_versteigerung" VALUES (NEW.versteigerung_id, NEW.versteigerung_uuid, NEW.abgebende_dienststelle, NEW.kfz_briefnummer, NEW.kennzeichen,
NEW.fahrzeugart, NEW.fabrikat, NEW.motor, NEW.fahrgestellnummer, NEW.hubraum, NEW.leistung,
NEW.erstzulassung, NEW.hu, NEW.laufleistung, NEW.adv_nummer, NEW.funktionsnummer, NEW.aktenzeichen,
NEW.getriebe, NEW.unfall, NEW.mindestgebot, NEW.fahrbereit, NEW.bild, NEW.geloescht);
INSERT INTO htbl_versteigerung_nummer_datum_kaeufer
VALUES (NEW.versteigerungsnummer_id, NEW.datum_id, (SELECT CURRVAL("tbl_versteigerung_id_seq"))));
Als Fehlermeldung erscheint:
ERROR: Spalte new.versteigerung_id existiert nicht
LINE 2: INSERT INTO “tbl_versteigerung” VALUES (NEW.versteigerung_id…
Die ganzen Spalten gibt es aber genau so in der Tabelle tbl_versteigerung.
Ich habe nach Beispielen gesucht wie man solche Regeln für Inserts auf View’s erstellt und das mit NEW.spaltenname gefunden, aber bei mir gibt es unter PGAdmin 4 v.7.0 die Fehlermeldung.
Auf der Konsole habe ich es noch nicht probiert gebe ich zu.
Aber ich kapiere nicht was ich falsch mache. Ich habe jetzt mal der Übersichthalber etwas abgespeckt.
CREATE RULE insert_view_versteigerung AS ON INSERT TO view_versteigerung DO INSTEAD(
INSERT INTO tbl_versteigerung (kennzeichen) VALUES (new.Kennzeichen));
ERROR: Spalte new.kennzeichen existiert nicht
LINE 2: ...SERT INTO tbl_versteigerung (kennzeichen) VALUES (new.Kennze...
^
HINT: Vielleicht wurde beabsichtigt, auf die Spalte »new.Kennzeichen« zu verweisen.
FEHLER: Spalte new.kennzeichen existiert nicht
SQL-Status: 42703
Zeichen: 138
View sowie Tabelle enthalten die Spalte Kennzeichen. Und es kommt auch noch der Hinweis: Vielleicht wurde beabsichtigt…
Jaaa, es wurde beabsichtigt.
Ich finde aber auch kein wirklich schönes Beispiel im Netz für eine Insert-Rule auf einen VIEW.