0

SQLAnywhereの初心者

テーブルは複数の行タイプを使用できます。行タイプcolumnの値に基づいて一部の列のCHECK制約をnullにならないように設定するにはどうすればよいですか?

4

1 に答える 1

0

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/で質問をしたいかもしれません。

于 2011-03-08T19:36:26.427 に答える