Alternative 1:
You can put the EID in a variable as follows:
CREATE PROCEDURE [dbo].spInsertTaskAssignmentsample ( @Username nvarchar(50), @ProjectName nvarchar(50), @ClientName nvarchar(50), @Status nvarchar(50), @StartDate nvarchar(50), @EndDate nvarchar(50), @ReportingManager nvarchar(50), @Comments nvarchar(100) ) AS BEGIN DECLARE @EID INT; SET @EID = (SELECT top 1 EID FROM tblLogin WHERE Username=@Username ); INSERT INTO tblTaskAssignment (EID,ProjectName, ClientName, Status, StartDate, EndDate,ReportingManager,Comments) Values (@EID, @ProjectName, @ClientName, @Status, @StartDate, @EndDate,@ReportingManager,@Comments) END
If the EID does not have an integer type, you need to specify this type in the statement of the operator
Alternative 2: Use the SELECT clause
CREATE PROCEDURE [dbo].spInsertTaskAssignmentsample ( @Username nvarchar(50), @ProjectName nvarchar(50), @ClientName nvarchar(50), @Status nvarchar(50), @StartDate nvarchar(50), @EndDate nvarchar(50), @ReportingManager nvarchar(50), @Comments nvarchar(100) ) AS BEGIN INSERT INTO tblTaskAssignment (EID,ProjectName, ClientName, Status, StartDate, EndDate,ReportingManager,Comments) SELECT TOP 1 EID, @ProjectName, @ClientName, @Status, @StartDate, @EndDate,@ReportingManager,@Comments FROM tblLogin WHERE Username=@Username END