Indsætte i flere tabeller i en Stored Procedure
Hej,Jeg har en database (MS SQL 2005), hvor jeg når jeg opretter en bruger, skal oprette denne bruger i forskellige tabeller:
tBruger
tMedlemsskab
tRoller
Jeg er ikke helt klar over hvordan jeg skal få det lavet. For den første indsættelse, skal gerne returnere den nyoprettede brugerId, som jeg så skal bruge når jeg opretter brugeren i de andre tabeller
Altså jeg ved godt, hvordan den kan returnere værdien - men hvordan bruger jeg værdien så når jeg laver min næste insert i samme stored procedures?
Det jeg har på nuværende tidspunkt:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[tBruger]
@ApplicationId uniqueidentifier,
@UserName nvarchar(256),
@IsUserAnonymous bit,
@LastActivityDate DATETIME,
@UserId uniqueidentifier OUTPUT
AS
BEGIN
IF( @UserId IS NULL )
SELECT @UserId = NEWID()
ELSE
BEGIN
IF( EXISTS( SELECT UserId FROM dbo.aspnet_Users
WHERE @UserId = UserId ) )
RETURN -1
END
INSERT dbo.tBruger (ApplicationId, UserId, UserName, LoweredUserName, IsAnonymous, LastActivityDate)
VALUES (@ApplicationId, @UserId, @UserName, LOWER(@UserName), @IsUserAnonymous, @LastActivityDate)
RETURN 0
END
Nu vil jeg så have indsat i næste tabel tMedlemsskab, hvor den skal sætte @UserId ind og f.eks. et @Gruppe
Hvordan sætter jeg disse to felter ind i tMedlemsskab, altså i samme StoredProcedure?
mvh
simsen :-)