Avatar billede dotnewbi Juniormester
14. juli 2009 - 22:59 Der er 6 kommentarer og
1 løsning

Problem med return select + SCOPE_IDENTITY()

Hej Eksperter,

jeg har denne SP :

CREATE PROCEDURE [dbo].[AddUser]
@Name VarChar(255),
@LastName VarChar(255),
@UserName VarChar(255),
@Password VarChar(255)
AS
BEGIN

INSERT INTO SystemUsers (
Name,
LastName,
UserName,
Password
)
VALUES (
@Name,
@LastName,
@UserName,
@Password
)

SELECT SCOPE_IDENTITY()
END

Det der er problemmet er at jeg gerne vil have retuneret data fra alle felterne i den "row" der lige er blevet oprettet inklu. det ny oprettet id men SELECT SCOPE_IDENTITY()retuner kun "389"
som ikke er identisk med den oprettet primary key!?
Avatar billede arne_v Ekspert
14. juli 2009 - 23:10 #1
Hvis IDENTITY feltet er primary key, saa boer den returnere den oprettede primary key.

Du kan proeve at erstatte:

SELECT SCOPE_IDENTITY()

med:

SELECT * FROM systemusers WHERE idfelt=SCOPE_IDENTITY()
Avatar billede erikjacobsen Ekspert
14. juli 2009 - 23:27 #2
Må vi se din tabel-definition for "SystemUsers"
Avatar billede wagner Nybegynder
16. juli 2009 - 23:22 #3
Hvis du anvender sql server 2005 eller nye kan du kigge på output parameteren til at returnere den nye record.

http://msdn.microsoft.com/en-us/library/ms177564(SQL.90).aspx

Wagner
Avatar billede arne_v Ekspert
17. juli 2009 - 02:33 #4
Om du returnerer værdien i en out parameter eller som et result set som i den original kode bør ikke gøre nogen stor forskel.

Out parametre finde iøvrigt i T-SQL også før version 2005.
Avatar billede arne_v Ekspert
22. august 2009 - 17:20 #5
dotnewbi ?
Avatar billede dotnewbi Juniormester
29. marts 2013 - 23:04 #6
lukker!
Avatar billede Syska Mester
31. marts 2013 - 00:07 #7
Velkommen til den lukkede dotnewbi.
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