error in stored procedure 'x' not permitted int his context
error : The name "EmpBenefitDeductID" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
CREATE PROCEDURE InsertEmployeeBenefitsDeducts
(
@BranchID bigint,
@EmployeeID bigint,
@BenefitDeductionID bigint,
@AffectOnLeave bit,
@Amount decimal(18,4),
@CreatedUserID bigint,
@CreatedDate datetime,
@ModifiedUserID bigint,
@ModifiedDate datetime
)
AS
DECLARE @EmpBenefitDeductID as bigint
SELECT @EmpBenefitDeductID=ISNULL(MAX(EmployeeBenefitsDeducts.EmpBenefitDeductID),0)FROM EmployeeBenefitsDeducts
SET @EmpBenefitDeductID=@EmpBenefitDeductID+1
INSERT INTO EmployeeBenefitsDeducts VALUES
(
EmpBenefitDeductID,
BranchID,
EmployeeID,
BenefitDeductionID,
AffectOnLeave,
Amount,
CreatedUserID,
CreatedDate,
ModifiedUserID,
ModifiedDate
)
VALUES
(
@EmpBenefitDeductID
@BranchID ,
@EmployeeID ,
@BenefitDeductionID ,
@AffectOnLeave ,
@Amount (18,4),
@CreatedUserID ,
@CreatedDate ,
@ModifiedUserID ,
@ModifiedDate
)
SELECT @EmpBenefitDeductID
Answers (5)
0
Hi,
Try like this
CREATE PROCEDURE InsertEmployeeBenefitsDeducts
(
@BranchID bigint,
@EmployeeID bigint,
@BenefitDeductionID bigint,
@AffectOnLeave bit,
@Amount decimal(18,4),
@CreatedUserID bigint,
@CreatedDate datetime,
@ModifiedUserID bigint,
@ModifiedDate datetime
)
AS
DECLARE @EmpBenefitDeductID as bigint
SELECT @EmpBenefitDeductID=ISNULL(MAX(EmployeeBenefitsDeducts.EmpBenefitDeductID),0)FROM EmployeeBenefitsDeducts
SET @EmpBenefitDeductID=@EmpBenefitDeductID+1
INSERT INTO EmployeeBenefitsDeducts
(
EmpBenefitDeductID,
BranchID,
EmployeeID,
BenefitDeductionID,
AffectOnLeave,
Amount,
CreatedUserID,
CreatedDate,
ModifiedUserID,
ModifiedDate
)
VALUES
(
@EmpBenefitDeductID,
@BranchID ,
@EmployeeID ,
@BenefitDeductionID ,
@AffectOnLeave ,
@Amount,
@CreatedUserID ,
@CreatedDate ,
@ModifiedUserID ,
@ModifiedDate
)
SELECT @EmpBenefitDeductID
Regards,
Iftikar
Accepted 0
thank u
0
refer below highlighted, those are not required.
CREATE PROCEDURE InsertEmployeeBenefitsDeducts
(
@BranchID bigint,
@EmployeeID bigint,
@BenefitDeductionID bigint,
@AffectOnLeave bit,
@Amount decimal(18,4),
@CreatedUserID bigint,
@CreatedDate datetime,
@ModifiedUserID bigint,
@ModifiedDate datetime
)
AS
DECLARE @EmpBenefitDeductID as bigint
SELECT @EmpBenefitDeductID=ISNULL(MAX(EmployeeBenefitsDeducts.EmpBenefitDeductID),0)FROM EmployeeBenefitsDeducts
SET @EmpBenefitDeductID=@EmpBenefitDeductID+1
INSERT INTO EmployeeBenefitsDeducts VALUES
(
EmpBenefitDeductID,
BranchID,
EmployeeID,
BenefitDeductionID,
AffectOnLeave,
Amount,
CreatedUserID,
CreatedDate,
ModifiedUserID,
ModifiedDate
)
VALUES
(
@EmpBenefitDeductID
@BranchID ,
@EmployeeID ,
@BenefitDeductionID ,
@AffectOnLeave ,
@Amount (18,4),
@CreatedUserID ,
@CreatedDate ,
@ModifiedUserID ,
@ModifiedDate
)
SELECT @EmpBenefitDeductID
Regards,
Iftikar
0
DECLARE @EmpBenefitDeductID as bigint
if not exists(select EmpBenefitDeductID from EmployeeBenefitsDeducts where EmployeeID=@EmployeeID)
SELECT @EmpBenefitDeductID=ISNULL(MAX(EmployeeBenefitsDeducts.EmpBenefitDeductID),0) +1FROM EmployeeBenefitsDeducts
0
will u mentioned what i did wrong in my code