Avatar billede eldaria Nybegynder
11. februar 2005 - 20:08 Der er 6 kommentarer og
1 løsning

I en SP, hvordan Retunerer jeg Identity ID, efter INSERT.

Jeg tror nok det her er et riktigt nemt spsm.
Jeg kan bare ikke finde ud af hvordan jeg skal gøre det.

Hvis jeg vil lave en Stored Procedure der lægger noget ind i en tabel, jeg vil derefter have en ouput value der angiver den INT som Identity felter har.

Min tabel ser således ud:
[UserID] [int] IDENTITY (1, 1) NOT NULL ,
[UserName] [varchar] (20) ,
[Status] [tinyint] NOT NULL

Så min stored procedure for at lægge en ny ind er:
Create PROCEDURE spAddUser
@txtUserName VarChar(20),
@intStatus Tinyint,
AS
INSERT INTO tblUser  (UserName, Status)
VALUES(@txtUserName, @intStatus)
GO

Men hvordan kan jeg få den til at retunere, den UserId der bliver oprettet?

mvh
Brian.
Avatar billede arne_v Ekspert
11. februar 2005 - 20:15 #1
Create PROCEDURE spAddUser
@txtUserName VarChar(20),
@intStatus Tinyint,
AS
INSERT INTO tblUser  (UserName, Status)
VALUES(@txtUserName, @intStatus)
SELECT @@IDENTITY
GO

og læs result set
Avatar billede arne_v Ekspert
11. februar 2005 - 20:15 #2
Du kan også returnere det i en out parameter hvis du hellere vil det.
Avatar billede eldaria Nybegynder
11. februar 2005 - 20:28 #3
Ja det vil jeg gerne
Avatar billede eldaria Nybegynder
11. februar 2005 - 20:54 #4
Ok, den fandt jeg selv ud af. :-)

Create PROCEDURE spAddUser
@txtUserName VarChar(20),
@intStatus Tinyint,
@intReturnvalue Int Output
AS
INSERT INTO tblUser  (UserName, Status)
VALUES(@txtUserName, @intStatus)
SELECT @intReturnvalue = @@IDENTITY
GO

Men smid et svar så du kan få dine points...
Avatar billede arne_v Ekspert
11. februar 2005 - 20:59 #5
ok
Avatar billede arne_v Ekspert
11. februar 2005 - 21:00 #6
Iøvrigt hvis du begynder at lege med triggers så er det bedre at bruge
SCOPE_IDENTITY() fremfor @@IDENITY (forudsætter dog SQLServer 2000 eller nyere).
Avatar billede eldaria Nybegynder
11. februar 2005 - 21:35 #7
Jeg har ikke lært at bruge triggers endnu. :-)

Men takker for hjælpen.
Brian
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