Avatar billede dip Nybegynder
11. april 2000 - 20:14 Der er 2 kommentarer og
1 løsning

Auto increment

Hej
Jeg har denne tabel med trigger som jeg prøver at oprette på min Oracle 805 linux.

Jeg kan simpelthen ikke se fejlen i triggeren, kan du hjælpe. Jeg tror jeg har stiret mig blind.

CREATE TABLE tbl_initialer(
    init_id INTEGER NOT NULL CONSTRAINT pk_init_id PRIMARY KEY,
    fornavn CHAR(30),
    efternavn CHAR(30),
    initialer CHAR(3),
    oprettelsesdato DATE NOT NULL,
    CONSTRAINT C_tbl_initialer1 UNIQUE(init_id),
    CONSTRAINT C_tbl_initialer2 UNIQUE(initialer));

CREATE SEQUENCE tbl_init_seq
increment by 1
start with 1
maxvalue 9999999
minvalue 1
cycle
nocache
noorder;

CREATE TRIGGER set_tbl_init BEFORE INSERT ON tbl_initialer FOR EACH ROW
BEGIN
SELECT tbl_init_seq.NEXTVAL INTO tbl_initialer.init_ID FROM DUAL
END;

Med venlig hilsen
David Ipsen
Avatar billede sjensen Nybegynder
11. april 2000 - 23:07 #1
Prøv

CREATE TRIGGER set_tbl_init BEFORE INSERT ON tbl_initialer FOR EACH ROW
AS
SELECT tbl_init_seq.NEXTVAL INTO tbl_initialer.init_ID FROM DUAL

Avatar billede dip Nybegynder
12. april 2000 - 20:17 #2
sjensen

Desværre, duede ikke.

Når jeg udføre scriptet, kommer følgende fejlmeddelse:

MGR-00072: Warning: TRIGGER SET_TBL_INIT created with compilation errors.

Når jeg prøver en "show errors" kommer følgende meddelse:
3/1      PLS-00103: Encountered the symbol "END" when expecting one of the follo

Kan dette hjælpe ydeliger ?

Mvh
David Ipsen
Avatar billede kichian Nybegynder
15. april 2000 - 18:00 #3
BEGIN
SELECT tbl_init_seq.NEXTVAL INTO tbl_initialer.init_ID FROM DUAL;
END;

Husk at SELECT sætningen skal afsluttes med et ;

Mht init_ID, er det så ikke :new.init_ID som skal tilskrives den nye værdi?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester