From: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: We |
Date: | 2005-12-06 10:02:32 |
Message-ID: | 20051206100232.GJ18779@webserv.wug-glas.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
am 06.12.2005, um 10:47:38 +0100 mailte Daniel Seichter folgendes:
> Hallo,
>
>
> Mein Trigger hat den Aufbau:
> CREATE TRIGGER trg_set_artikelart
> AFTER INSERT OR UPDATE
> ON artikel
> FOR EACH STATEMENT
> EXECUTE PROCEDURE proc_artikelart();
>
> CREATE FUNCTION proc_artikelart()
> ......
> if length(artikel.artikel) = 8 then artikel.artikelart = 'm'
> if length(artikel.artikel) = 12 then artikel.artikelart = 'a'
> ....
>
> Die Frage ist nur:
> Was muss ich der Funktion proc_artikelart() alles übergeben? Was fehlt
> noch und vor allem, wie weiss ich, dass ich im aktuellen Datensatz
http://www.postgresql.org/docs/8.1/interactive/plpgsql-trigger.html
Du übergibst _NICHTS_, deklarierst aber die Funktion als 'RETURNS
trigger'. Innerhalb der Funktion hast Du mit NEW.<Spaltenname> Zugriff
auf die einzelnen Spalten.
Und ein INSERT or UPDATE - Trigger sollte BEFORE feuern. Der Rest siehe
Link, da ist auch ein Beispiel.
PS.: stell mal einen gescheiten Zeilenumbruch ein, trotz 21" passen
Deine Zeilen nicht auf den Monitor.
Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47212, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=== Schollglas Unternehmensgruppe ===
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2005-12-06 11:55:04 | Chemnitzer Linux-Tage |
Previous Message | Daniel Seichter | 2005-12-06 09:47:38 | Werte Prüfen und anderes Feld mit Resultat füllen |