Posted By: vejpuste (Libor Vejpustek) on 'CZdatabases' Title: Re: Snim ci bdim? - Oracle8 a sequence jako default value Date: Thu Feb 3 12:19:08 2000 > Hi all! > > Nevim, jestli neumim cist anglicky nebo se mi to je zda, ale v dokumentaci > na > "Where to Use Sequence Values" pisou: > - you cannot use CURRVAL and NEXTVAL in these places: > ... > . DEFAULT value of a column in a CREATE TABLE or ALTER TABLE statement > ... > > Dela si ze mne manual srandu a nebo je opravdu mozne, ze nejnovejsi Oracle > nezvlada takovouhle zakladni, trivialni a IMHO dulezitou vec? No tak dobre. Tak uz to konecne napisu presne. V default value to nepripousti. Da se to obejit pomoci triggeru. Vyrob trigger s volbama BEFORE INSERT nad prislusnou tabulkou a do BODY dej : BEGIN SELECT SEKVENCE.NEXTVAL INTO :NEW.ID FROM DUAL; END; ID je polozka ve ktere mas ID zaznamu. Snad je to jasnejsi. Presna syntaxe je : CREATE OR REPLACE TRIGGER "SCHEMA".NAZEV BEFORE INSERT ON "SCHEMA"."TABULKA" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN SELECT SEKVENCE.NEXTVAL INTO :NEW.ID FROM DUAL; END; ; Libor Vejpustek Ceska zemedelska univerzita Praha http://web.czu.cz/~vejpuste/ E-mail : vejpuste@uvt.czu.cz