x__miller_x
@x__miller_x

Как убрать The INSERT statement conflicted with the CHECK constraint ошибку?

Дня доброго!
возникает следующая ошибка при попытке добавить новую запись в БД:
The INSERT statement conflicted with the CHECK constraint "CK_emp_id". The conflict occurred in database "pubs", table "dbo.employee", column 'emp_id'.
The statement has been terminated.


Сам constraint выглядит так:
([emp_id] like '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' OR [emp_id] like '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')


C# код:
SqlParameter pEmpIdIns = new SqlParameter("@EmpId", empId); 
pEmpIdIns.SqlDbType = SqlDbType.Char;


Хранимая процедура:
CREATE OR ALTER PROCEDURE spInsertEmployee
@empId CHAR,
@fName VARCHAR(20),
@mInit CHAR(1)=NULL,
@lName VARCHAR(30),
@jobId SMALLINT,
@jobLvl TINYINT,
@pubId CHAR(4),
@hireDate DATETIME

AS

BEGIN
    INSERT INTO employee (emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date, EmployeeType)
                    VALUES(@empId, @fName, @mInit, @lName, @jobId, @jobLvl, @pubId, @hireDate, 0);
END
GO


Передаю значение из формы: "A-A11111F" (или любое другое)

Руками в если выполнять sql
INSERT INTO employee (emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date, EmployeeType)
VALUES('A-A11111F', 'Test', 'T', 'Tester', 14, 90, 9952, 2021-01-01, 0);

то все добавляется.

Как и что поправить нужно? Благодарствую.
  • Вопрос задан
  • 407 просмотров
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Очевидно же, что на сервер уходит вовсе не то, что вы вставляете руками.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы