"Jens Jackson" <jens@det-ydre-rum.dk> wrote in message
news:3b1b498f$0$195$ba624c82@nntp01.dk.telia.net...
> I en gennemgang af nogle stored procedures er jeg stødt på ordet SEQUENCE.
> Vist nok i sammenhængen CREATE sp_blabla AS SEQUENCE...
SEQUENCE er et såkaldt schema objekt der generer en unik intreger som ofte
bruges til primary eller unique key . En Sequence værdi kan også hvis man
ønsker det bruges til mere end 1 tabel.
Når man laver en SEQUENCE værdi kan man angive ved hvilken værdi den skal
starte samt hvor store "hop" den tager. Et eksempel kunne være:
CREATE SEQUENCE minSeqeunce INCREMENT BY 5;
Når du så refererer til den bruger du:
minSequence.nextval vil give dig en værdi på 1 og derefter 6, 11, 16 , 21
osv.
For at få den nuværende værdi kan du bruge
minSequence.currval
En typisk brug ville være hvis du af en eller anden grund har fået spredt
dine brugere over to tabeller og så bruger:
INSERT INTO tbl_users1(id, navn) VALUES(minSequence.nextval, 'Jakob
Andersen')
og så næste gang i den anden tabel:
INSERT INTO tbl_users2(id, navn) VALUES(minSequence.nextval, 'Jens Jackson')
Og evt. smide samme userId ind i en tredje tabel f.eks:
INSERT INTO tbl_permissions(userid, level) VALUES(minSequence.currval,
'Superuser')
Ovenstående er utestet og taget ud af den blå luft, eller hvad det nu er der
er i mit hoved.
--
Jakob Andersen
"Det er rart at være vigtig, men det er vigtigere at være rar
"