ByteRix Geschrieben 27. September 2005 Teilen Geschrieben 27. September 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 27. September 2005 Teilen Geschrieben 27. September 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ByteRix Geschrieben 29. September 2005 Autor Teilen Geschrieben 29. September 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.