Мне нужно иметь возможность ограничить вставки в таблицу, если указанный столбец не предоставлен.
Здесь выгода, есть другой столбец, который зависит от этого столбца, который при предоставлении должен обеспечивать принудительное выполнениеобязательное ограничение.
Я рассмотрел ограничения CHECK
в операторах CREATE TABLE
, но я не знаю, как сделать оператор IF THEN
, который будет проверять fieldA, а затем применять обязательное для fieldB.
Оба столбца обнуляются, и в некоторых случаях ни один из них не требуется, но когда поле A указано, я хочу ограничить базу данных разрешением только ненулевых значений для fieldB.
Так что для буквального примера, вот моя таблица с именемPerson
- в нем есть следующие столбцы:
PersonID INT IDENTITY
Name VARCHAR(50) NULL
Age INT NULL
DateOfBirth VARCHAR(20) NULL
Теперь, если запись пытается быть вставлена в Person
, где предоставляется Age
(fieldA), я хочу убедиться, что DateOfBirth
(fieldB) также предоставляется.
Этот вид проверки выполняется из приложения, но мы также хотим, чтобы он был в наших таблицах.