카테고리 없음

[SQL] Oracle의 테이블에있는 모든 제약 조건 목록을 얻는 방법은 무엇입니까?

필살기쓰세요 2021. 3. 1. 13:51

두 테이블 USER_CONSTRAINTSUSER_CONS_COLUMNS 에서 JOIN을 사용하여 열 이름, 제약 조건 유형 및 테이블 이름을 가져올 수 있습니다 .

SELECT ucc.COLUMN_NAME, uc.CONSTRAINT_TYPE ,uc.TABLE_NAME 
FROM USER_CONSTRAINTS uc  JOIN  USER_CONS_COLUMNS ucc 
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME 
AND uc.TABLE_NAME=ucc.TABLE_NAME
WHERE uc.TABLE_NAME='mytablename';

제약 정의는 다음과 같이 참조 할 수 있습니다.

C (check constraint on a table)
P (primary key)
U (unique key)
R (referential integrity)
V (with check option, on a view)
O (with read only, on a view)

자세한 내용은 여기에서 Oracle 문서를 볼 수 있습니다.

-------------------

당신은 그것을 얻을 수 있습니다 user_constraints

SELECT *
FROM user_constraints
WHERE table_name = 'STUDENT'

STUDENT대문자 를 통과했는지 확인하십시오 . table_name은 대소 문자를 구분합니다.

제약 유형을 확인하려면이 열을 확인하십시오. CONSTRAINT_TYPE

제약 정의 유형 :

C (check constraint on a table)
P (primary key)
U (unique key)
R (referential integrity)
V (with check option, on a view)
O (with read only, on a view)
-------------------

이 View 쿼리를 시도하고 테이블 이름을 지정하여 모든 제약 세부 정보를 가져옵니다.

SELECT * FROM user_cons_columns WHERE table_name = '<YOUR_TABLE_NAME>';

또는

SELECT * FROM user_constraints WHERE table_name = '<your table name>' AND constraint_name = '<your constraint name>';

-------------------

그냥 사용 describe

describe student 하지만 웹 브라우저 모드를 사용해야한다는 것을 기억하십시오.



출처
https://stackoverflow.com/questions/39970022