| 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: | Whole Thread | Raw Message | 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 |