Avatar billede davidfossil Nybegynder
14. maj 2005 - 14:24 Der er 6 kommentarer og
1 løsning

Hente oprettet records uniqueidentifier som output parameter

Jeg har et INSERT-statement, hvorfra jeg gerne vil have et output parameter til at fortælle mig hvilken unique identifier der er genereret til givne record.

Noget med at fange @@IDENTITY, eller hva?
Avatar billede arne_v Ekspert
14. maj 2005 - 14:26 #1
Først udfører du din INSERT

Så laver du en:

SELECT @@IDENTITY
Avatar billede arne_v Ekspert
14. maj 2005 - 14:27 #2
eller

SELECT SCOPE_IDENTITY()
Avatar billede arne_v Ekspert
14. maj 2005 - 14:27 #3
Hvis det er en stored procedure må du kunne assigne den værdi over
i en output parameter (men du kunne jo også bare snuppe den i et result set)
Avatar billede davidfossil Nybegynder
14. maj 2005 - 14:28 #4
Hmm, det ser ud til at begge dele giver en integer som svar, hvor jeg forventer en GUID...?
Avatar billede arne_v Ekspert
14. maj 2005 - 14:32 #5
ah - det er ikke en IDENTITY kolonne men en rigtig UNIQUEIDENTIFIER

den kan du ikke fiske ud på den samme måde

kan du ikke droppe

DEFAULT NEWID()

og så lave en SP som:
  - kalder NEWID()
  - laver INSERT med værdi
  - returnerer værdi
?
Avatar billede davidfossil Nybegynder
14. maj 2005 - 14:43 #6
god idé, svar! :o)
Avatar billede arne_v Ekspert
14. maj 2005 - 14:46 #7
svar
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