5
Answers

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
Iftikar Hussain

Iftikar Hussain

NA 18.9k 275.5k 11y
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
mohammed shamsheer

mohammed shamsheer

NA 227 97.6k 11y
thank u
0
Iftikar Hussain

Iftikar Hussain

NA 18.9k 275.5k 11y
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
Rosi Sreenivasa Reddy

Rosi Sreenivasa Reddy

NA 134 30.1k 11y
DECLARE @EmpBenefitDeductID as  bigint
if not exists(select EmpBenefitDeductID from EmployeeBenefitsDeducts where EmployeeID=@EmployeeID)
SELECT @EmpBenefitDeductID=ISNULL(MAX(EmployeeBenefitsDeducts.EmpBenefitDeductID),0) +1FROM EmployeeBenefitsDeducts

0
mohammed shamsheer

mohammed shamsheer

NA 227 97.6k 11y
will u mentioned what i did wrong in my code