Avatar billede agerled Nybegynder
15. april 2004 - 11:30 Der er 4 kommentarer og
2 løsninger

unique indetifier i oracle

Jeg har en side hvor jeg opretter brugere som bliver lagt ind i min oracle database.

Jeg har før brugt MS SQL, hvor jeg kunne sætte min userID kolonne til en unique indetifier som hele gav userID et nummer højere end det forrige.

Hvordan kan jeg gøre det tilsvarende i Oracle? hvad skal datatypen være. Jeg bruger version 8.1.
Avatar billede askari Nybegynder
15. april 2004 - 11:33 #1
Du kan kjøre en spørring som henter max-verdien av alle userIDs
og legger til 1.

SELECT max(userID) from <table>

userID typen kan være Integer
Avatar billede trer Nybegynder
15. april 2004 - 11:34 #2
Du skal oprette en SEQUENCE og anvende den. En sequence er en form for funktion som laver unikke numre - men du koder den selv (og kan så vælge hvordan dine numre skal opbygges - alfabetisk, numerisk, romertal, med checksum eller hvad du nu lyster)

Du kan finde beskrivelsen af SEQUENCEs i din Oracle dokumentation.
Avatar billede agerled Nybegynder
15. april 2004 - 13:05 #3
takker. lidt ærgerligt at der ikke er samme funktuion i oracle som der er i SQL.
Avatar billede arne_v Ekspert
15. april 2004 - 19:03 #4
sequence i Oracle er det man bruger i.s.f. identity i SQLServer.

SELECT MAX+1 duer ikke med flere samtidige brugere
Avatar billede teepee Nybegynder
16. april 2004 - 09:34 #5
agerled => hvis du ikke vil have "huller" i din sekvens, må du oprette en hjælpetabel og lave din egen tæller. Hertil laver du en rutine, der låser rækken/tabellen hvergang du trækker et nyt nummer. Det virker tungt, men det tager nu ikke så lang tid.
Avatar billede agerled Nybegynder
16. april 2004 - 11:09 #6
Tak for jeres svar allesammen. jeg kigger lige på det...
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