Constraint null и dni

Я нуждаюсь в одном constraint что способствовал тому, чтобы только смогли быть введенными стоимость NULL или действительное удостоверение личности (Испании). Я не знаю, как добавлять того, который также стоит стоимость null, оставляю мой constraint, чтобы видеть, могут ли они заканчивать это. Спасибо.

ALTER TABLE CITAS ADD CONSTRAINT CK_DNI_CITAS CHECK (REGEXP_LIKE(
DNI_PACIENTE,'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Z]'));
1
задан 04.08.2017, 15:15
1 ответ

Тебе остается устанавливать condici¦n NULL

ALTER TABLE CITAS ADD CONSTRAINT CK_DNI_CITAS CHECK (
      REGEXP_LIKE(DNI_PACIENTE,'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Z]') OR DNI_PACIENTE IS NULL
);

También ты можешь писать регулярный expresi¦n формы mÃ: s компактная:

ALTER TABLE CITAS ADD CONSTRAINT CK_DNI_CITAS CHECK (
     REGEXP_LIKE(DNI_PACIENTE,'\d{8}[A-Z]') OR DNI_PACIENTE IS NULL
);

Или даже ты можешь решать все как expresi¦n регулировать:

ALTER TABLE CITAS ADD CONSTRAINT CK_DNI_CITAS CHECK (
     REGEXP_LIKE(NVL(DNI_PACIENTE, 'NULL'),'\d{8}[A-Z]|NULL')
);
1
ответ дан 29.10.2019, 23:58

Теги

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