05. november 2003 - 11:18Der er
9 kommentarer og 1 løsning
sequence spørgsmål
Hej! Er der nogen der kan fortælle mig hvordan man laver en sequence på en tabel. Denne sequence skal fungere som primary key. Gør man det udenfor sin create table sætning? Det gør man vel?
Du kan lave en "Before-insert-trigger" på table, der giver automatisk giver dig en entydig nøgle.
create or replace trigger "Triggername" before insert on "tablename" for each row DECLARE NexVal number; BEGIN SELECT "sekvens_name".nextval into nexval FROM DUAL;
:NEW.id := nexval; END; / show errors trigger "Triggername"
Det tyder jo på at den bruger som du logger på med ikke har rettigheder til at oprette objekter så som tabeltriggers m.m.
Du skal connect'e med en bruger der har DBA-rettigheder. Denne bruger kan så tildele de nødvendige privilegier til den bruger som benytte til at udvikle med.
Når man skriver CREATE SEQUENCE TEST.EKS_SEQ opretter du en sequence under test brugeren. Den har du måske ikke adgang til, og for den sags skyld er det ikke sikkert at den skal ligger dér.
CREATE SEQUENCE EKS_SEQ opretter den under den bruger som du er logget ind som.
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.