+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Datensätze vor update in anderer Tabelle speichern

  1. #1
    eremit ist offline Neuer Benutzer
    Registriert seit
    19.02.2007
    Ort
    Braunschweig
    Beiträge
    28

    Standard Datensätze vor update in anderer Tabelle speichern

    Hallo und Guten Tag,

    ich möchte einen geänderten Datensatz, bevor er geändert wird, in einer zweiten baugleichen Tabelle (allerdings ohne Constraints und Primärschlüssel) speichern. Die Quelltabelle heißt data_standard_pitzer, die Zieltabelle heißt log_data_standard_pitzer. In der update function habe ich das so versucht:

    Code:
    INSERT INTO "public"."log_data_standard_pitzer" select * from old;
    
    Wenn ich nun einen Datensatz ändere passiert rein gar nichts. Es kommt auch keine Fehlermeldung. Es geht auch nicht ohne Schema oder ohne Häkchen. Es geht ebenfalls nicht, wenn ich die Zielfelder alle einzeln anspreche.

    Dann kam mir noch der Gedanke, es mit einer eigenen Function zu versuchen (hier probeweise nur mit drei Spalten, die Tabellen enthalten eigentlich mehr, pcon und datatype sind Primärschlüssel der Quelltabelle):

    Code:
    CREATE FUNCTION fn_add-log_data_standard_pitzer(in_pcon character varying, in_datatype character varying, in_remark character varying) RETURNS void
    AS $$begin
    insert into log_data_standard_pitzer (pcon, datatype, remark) values (in_pcon, in_datatype, in_remark);
    end;$$
    LANGUAGE plpgsql;
    
    Diese könnte ich in der update-Funktion dann aufrufen mit

    Code:
    select fn_add-log_data_standard_pitzer(old.pcon, old.datatype, old.remark
    
    Doch leider scheitere ich schon mit dem create function code (SQL-Fehler).

    Kann mir jemand einen Tip geben? Das kann doch nicht so schwer sein. Ich habe auch keinen passenden Thread hier im Forum gefunden.

    Eremit

  2. #2
    ads
    ads ist offline Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    3.405

    Standard

    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    eremit ist offline Neuer Benutzer
    Registriert seit
    19.02.2007
    Ort
    Braunschweig
    Beiträge
    28

    Standard

    Das muss ich mir jetzt erst mal reinziehen. Schade, ich hatte gehofft, dass es einfacher gehen könnte.
    Eremit

  4. #4
    akretschmer ist offline Erfahrener Benutzer
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    4.473

    Standard

    Zitat Zitat von eremit Beitrag anzeigen
    Das muss ich mir jetzt erst mal reinziehen. Schade, ich hatte gehofft, dass es einfacher gehen könnte.
    Eremit
    Klar geht das einfacher: schreibe einfach einen passenden Trigger dafür, nebst Triggerfunktion. Nix anderes mach ads sein Tablelog...

    Andreas
    --
    Papa-Kind-Kur vom 8. bis 29. September ;-)
    PostgreSQL Hosting
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    http://www.amazon.de/gp/registry/2APKFICAIYMWB
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    eremit ist offline Neuer Benutzer
    Registriert seit
    19.02.2007
    Ort
    Braunschweig
    Beiträge
    28

    Standard

    Es funktioniert!!! :-)
    Dennoch würde mich interessieren, wo der Fehler in meinem eigenen Code liegt.
    Jedenfalls vielen Dank für den nützlichen Link! Lebt dieses Projekt denn eigentlich noch?
    Gruß
    Eremit

  6. #6
    ads
    ads ist offline Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    3.405

    Standard

    Ja, dieses Projekt lebt noch.
    Derzeit gibt es bloß nichts hinzuzufügen.

    Vielleicht schreibe ich das mal komplett neu ...
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum