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);

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

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

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

Войти через центр авторизации
Похожие вопросы