-- Trigger zur Generierung eines synthetischen, sequenziellen Integer- -- Datentyps --************************************************************ -- Der Trigger wird für die folgende Tabelle Test generiert: create table test ( mypk integer not null, mycolumn varchar2(3), primary key (mypk) ); --************************************************************ -- TRIGGER-DEKLARATION --************************************************************ -- trigger-kopf create or replace trigger synthkey before insert on test for each row -- deklarationsblock declare vmax integer; -- Anweisungen begin -- max wert von pk suchen select max(mypk) into vmax from test; if vmax is null then vmax := 0; end if; vmax:=vmax+1; -- aktuellen PK-Wert des Inserts mit vmax belegen :new.mypk := vmax; end; / -- *************************************************** -- entweder gibt man beim insert für die PK-Spalte mypk einen dummy ein, -- der dann vom Trigger überschrieben wird: insert into test values (0,'AAA'); -- oder man lässt den Wert für die PK-Spalte beim insert weg: insert into test (mycolumn) values ('BBB');