Reputation: 143
I am trying to write a stored procedure that writes the details of a new user (NonMembers table) to a data base and then uses the auto generated id for that user in the next part of the code to register that user to a competition (registration table). My attempt at doing this is as follows but clearly my SQL skills are a long way from where they need to be?
All help would be greatly appreciated.
ALTER PROCEDURE [dbo].[RegisterNonMember]
@CompetitionId INTEGER,
@IsMember BIT,
@FirstName NVARCHAR(50),
@Surname NVARCHAR(50),
@Handicap INTEGER,
@Club NVARCHAR(50),
@CountyId INTEGER,
@CountryId INTEGER,
@PlayersStartTime TIME
AS
BEGIN
DECLARE @NonMember TABLE
(NonMemberId INTEGER,
FirstName NVARCHAR(50),
Surname NVARCHAR(50),
Handicap INTEGER,
Club NVARCHAR(50),
CountyId INTEGER,
CountryId INTEGER
)
INSERT INTO [dbo].[NonMembers]
(
FirstName
,Surname
,[Handicap]
,[Club]
,CountyId
,CountryId
)
VALUES
(@FirstName
,@Surname
,@Handicap
,@Club
,@CountyId
,@CountryId
)
--UPDATE @NonMember
--SET [@NonMember].NonMemberId = [dbo].[NonMembers].[NonMemberId]
--FROM [dbo].[NonMembers]
--JOIN @NonMember ON [@NonMember].NonMemberId = [dbo].[NonMembers].[NonMemberId]
--WHERE @NonMember.FirstName = [dbo].[NonMembers].[FirstName]
--AND @NonMember.Surname = [dbo].[NonMembers].[Surname]
--AND @NonMember.Handicap = [dbo].[NonMembers].[Handicap]
--AND @NonMember.Club = [dbo].[NonMembers].[Club]
DECLARE @Registration TABLE
(CompetitionId INTEGER,
IsMember BIT,
NonMemberId INTEGER,
PlayersStartTime TIME
)
INSERT INTO [dbo].[Registration]
(
[CompetitionId]
,[IsMember]
,[NonMemberId]
,[PlayersStartTime])
VALUES
(@CompetitionId
,@IsMember
,@NonMemberId
,@PlayersStartTime)
END
Upvotes: 0
Views: 98
Reputation: 7761
After your INSERT
add:
DECLARE @UserID INT
SELECT @UserID = SCOPE_IDENTITY()
Upvotes: 3