제약 조건 이름에서 테이블 및 열 이름에 대한 정보가 필요합니다.JDBC Metada 검색 제약 정보
누군가가 connection.getMetadata(). getX와 유사한 누군가가 존재하여 제약 정보를 검색합니까?
내 테스트 케이스는 오라클 데이터베이스에 있지만 내 가장 좋은 방법은 그냥 JDBC
제약 조건 이름에서 테이블 및 열 이름에 대한 정보가 필요합니다.JDBC Metada 검색 제약 정보
누군가가 connection.getMetadata(). getX와 유사한 누군가가 존재하여 제약 정보를 검색합니까?
내 테스트 케이스는 오라클 데이터베이스에 있지만 내 가장 좋은 방법은 그냥 JDBC
당신이 외래 키와 기본 키 제약 조건에 대해 얘기합니다. DatabaseMetaData
은이 정보를 검색하는 방법을 제공합니다. 외래 키는 getImportedKeys(..)
및 getCrossReference(..)
이고 기본 키는 getPrimaryKeys(..)
및 getExportedKeys(..)
입니다.
그냥 사용하는 방법에주의하십시오. getCrossReference(..)
및 getExportedKeys
은 제 의견으로는 반 직관적입니다.
고유 한 제약 조건이 필요한 경우 unique
매개 변수에 true
을 전달하면 getIndexInfo(..)
을 사용할 수 있어야합니다.
당신은 USER_CONSTRAINTS
및 ALL_CONSTRAINTS
테이블에서 제약 정보를 정의 얻을 수로 해결합니다.
필수 where 절 필드를 전달해야합니다.
예 :
select
CONSTRAINT_NAME,
CONSTRAINT_TYPE,
TABLE_NAME,
...
from
USER_CONSTRAINTS
where
CONSTRAINT_NAME like concat(?, '%');
멋지 네요.하지만 고유 한 제약 조건도 가져와야합니다. 고마워요. – jrey
@ jrey.py 제 대답에 대한 업데이트를 확인하십시오. –
@ mark-rottevel 고맙습니다. – jrey