1

varcharいくつかの異なる単語のみを値 (名前) として入力できるようにするために、列にチェック制約があるテーブルを保持する SQL Server データベースがあります。

このような

CONSTRAINT chk_Names CHECK (name IN ('John', 'Eva', 'Carl', 'Fred'))

私がやりたいことは、Java のコンボボックスにこれらの名前を入力することです。データベースで変更される可能性があるため、手動で入力したくありません。メタデータから入力したい。

しかし、 or を使用してデータベースから情報を取得する方法を見つけることができませんでした(INFORMATION_SCHEMAまたはsys.objects、Java の DatabaseMetaData から)。

私は SQL Server を初めて使用しますが、どうにかしてその情報を取得することは可能ですか?

よろしく/フレッド

4

1 に答える 1

1

名前のリストをテーブルに移動する必要があるようです。あなたはJavaフォームで、テーブルからデータを選択できます。

また、データは変更される可能性があるため、チェック制約を変更するよりもテーブルを更新する方が適切です。チェック制約を外部キー制約に変更することもできます。

チェック制約の定義は、にもありますINFORMATION_SCHEMA.CHECK_CONSTRAINTS。式はCHECK_CLAUSE列にあります。そして、式から値を抽出する必要があります。

于 2013-01-04T21:12:55.053 に答える