What do you want to do if the Team Name or Position Name that is passed in does not exists? The following assumes that that generates an error.CREATE PROC dbo.add_employee
@id INT,
@TeamName VARCHAR(64),
@PositionName VARCHAR(64)
AS
DECLARE @TeamId INT;
SELECT @TeamId = ID FROM Team WHERE Name_Team = @TeamName;
IF (@TeamId IS NULL)
BEGIN
RAISERROR('Invalid team name',16,1)
RETURN;
END
DECLARE @positionId INT;
SELECT @PositionId = ID FROM Position WHERE Name_Position = @PositionName;
IF (@PositionId IS NULL)
BEGIN
RAISERROR('Invalid position name',16,1)
RETURN;
END
-- TODO: Check if the passed in UserID already exists and raise error if it does.
INSERT INTO users
(id, id_team, id_position)
VALUES
(@id, @teamID, @PositionId);
GO