SQL Anywhere 12 CHECK ограничение для column1, чтобы не разрешать нулевые значения для определенных других столбцов - PullRequest
0 голосов
/ 08 марта 2011

Новичок в SQL Anywhere

Таблица может содержать несколько типов строк.Как установить ограничение CHECK для некоторых столбцов, чтобы оно не было нулевым в зависимости от значения столбца типа строки?

1 Ответ

0 голосов
/ 08 марта 2011

SQL Anywhere строго типизирован, и я не уверен, что в вашей схеме желательно иметь столбцы без типов.

Если необходимо, вы можете создать псевдотипный столбец с типом данных varchar и добавить ограничение, которое будет проверять ввод строки, например:

ALTER TABLE "DBA"."myTable" ADD "myColumn " VARCHAR(100) NULL;

ALTER TABLE "DBA"."myTable" ADD CONSTRAINT "myConstraint" 

check(
        ( ISNUMERIC( myColumn ) AND myColumn is not null ) 
     OR ( ISDATE( myColumn ) AND myColumn is not null )
     OR (...)

     );

Кстати, вы можете задать вопрос на http://sqla.stackexchange.com/.

...