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

Новичок в любом месте SQL

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

1 ответ

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/.

Другие вопросы по тегам