SQLAnywhereの初心者
テーブルは複数の行タイプを使用できます。行タイプcolumnの値に基づいて一部の列のCHECK制約をnullにならないように設定するにはどうすればよいですか?
SQLAnywhereの初心者
テーブルは複数の行タイプを使用できます。行タイプcolumnの値に基づいて一部の列のCHECK制約をnullにならないように設定するにはどうすればよいですか?
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/で質問をしたいかもしれません。