Zum Inhalt springen

Postgre Trigger


ByteRix

Empfohlene Beiträge

Hi,

ich hab mal ne kleine Frage zu dem DBMS Postgre.

Und zwar hab ich in einer Tabelle eine Spalte die automatisch bei einem insert immer wieder hochgezählt werden soll. D.h. der erste insert spalte id -> 1, zweiter insert spalte id -> 2, etc.

Dazu will ich einen Trigger bauen der automatisch aufgerufen wird vor einem insert.

Hab bis jetzt noch nicht soviel in dem Bereich gemacht, kann mir jmd. erklären wie ich des bei dem DBMS mache?

Ich hab auch schon eine Sequenz angelegt. Jetzt brauch ich nur noch hilfe bei der trigger procedure.

thx, mfg byte

Link zu diesem Kommentar
Auf anderen Seiten teilen

erstelle eine funktion, die den nextval einer sequenz liefert:

CREATE OR REPLACE FUNCTION "meineTriggerFunktion"() RETURNS "opaque"

  AS '

    BEGIN

      NEW.ID = NEXTVAL(''meineSequenz');

      RETURN NEW;

    END'

LANGUAGE 'plpgsql'
und dann erstelle den trigger, der z.b. nach inserts auslöst:
CREATE TRIGGER "meinTrigger" AFTER INSERT ON "meineTabelle" 

FOR EACH ROW EXECUTE PROCEDURE meineTriggerFunktion

ansonsten gilt (für postgres 8, für andere versionen siehe /docs):

http://www.postgresql.org/docs/8.0/static/sql-createtrigger.html

ahja: und das DBMS heisst PostGres :)

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

thx, aber auf der page steht auch nur der name "postgre" aber hab auch schon gehört das man die "postgres" nennt :)

ich habs jetzt doch noch auf ne andere weiße gelöst (beim anlegen der tabelle):

create table test (

id numeric(3) default nexval('meineSequenz') not null;

)

oder so ähnlich gings kann mich nicht so genau dran erinnern, aber trotzdem danke.

thx, mfg byte

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...