制約の名前からテーブルと列の名前に関する情報が必要です。
制約情報を取得するためのconnection.getMetadata()。getXに似た人が存在しますか?
私のテストケースはOracleDatabaseにありますが、jdbcで解決したい最善のソリューションです。
外部キーと主キーの制約について話している場合。はDatabaseMetaData
、この情報を取得するためのメソッドを提供します。外部キー、およびgetImportedKeys(..)
主キーを 使用できます。getCrossReference(..)
getPrimaryKeys(..)
getExportedKeys(..)
それらの使用方法に注意してください。私の意見getCrossReference(..)
でgetExportedKeys
は、少し直感に反しています。
一意の制約も必要な場合は、パラメーターのgetIndexInfo(..)
受け渡しで使用できるはずです。true
unique
USER_CONSTRAINTS
とALL_CONSTRAINTS
テーブルから定義済みの制約情報を取得できます。
必須のwhere句フィールドを渡す必要があります。
例:
select
CONSTRAINT_NAME,
CONSTRAINT_TYPE,
TABLE_NAME,
...
from
USER_CONSTRAINTS
where
CONSTRAINT_NAME like concat(?, '%');