ДОБАВИТЬ Ограничения в значении столбца на основе другого значения в другом столбце - PullRequest
0 голосов
/ 29 апреля 2019

Я пишу sql-ограничения для значений в столбцах на основе других значений в других столбцах, например:

если заменяющая деталь колонны = 'N / A', компания-заменитель должна быть = 'N / A' и наоборот. если type = 'obs', LTB_Date и LTS_Date должны быть не нулевыми и если type! = 'obs', LTB_Date и LTS_Date должны быть нулевыми

1 Ответ

0 голосов
/ 29 апреля 2019

Попробуйте использовать ограничение CHECK, например:

ALTER TABLE PCN_Table ADD CONSTRAINT CHECK(
  CASE
    WHEN Replacement_Part = 'N/A' THEN CASE WHEN Replacement_Company = 'N/A' THEN 1 ELSE 0 END
    ELSE 1
  END=1
  AND
  CASE
    WHEN [type] = 'obs' AND LTB_Date IS NOT NULL AND LTS_Date IS NOT NULL THEN 1
    WHEN [type] <> 'obs' AND LTB_Date IS NULL AND LTS_Date IS NULL THEN 1
    ELSE 0
  END=1
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...