Наряду со всем, что было написано в комментариях до сих пор (последний комментарий в данный момент относится к ответу Дамьена на ISNUMERIC
, отвечающему на вопрос, который вы не хотите задавать), похоже, вы используете триггер instead of
для проверки - и в этом случае вы выбрали неправильный инструмент для задания.
За исключением очень специфических случаев, проверка должна выполняться с использованием ограничений.
В вашем случае вам следуетСначала убедитесь, что вы используете правильный тип данных для PersonId
.
Если вы хотите, чтобы он был числовым, используйте числовой тип данных.Если вы хотите, чтобы оно было целым числом, используйте int
(или в случае чрезвычайно большого целого числа bigint
).
Если вы хотите, чтобы оно было уникальным, добавьте уникальный индекс или уникальное ограничение к нему, или подумайте, должен ли он быть первичным ключом таблицы (который является уникальным по определению).
Если вы хотите егочтобы быть числом, состоящим хотя бы из 9 цифр, добавьте контрольное ограничение , которое отклонит любое значение в 100,000,000
.