제약 조건 조회하기
테이블에 제약 조건을 설정하면 과연 시스템에 기록이 될까?
그렇다.
설정된 제약조건을 딕셔너리에 저장되는데,
이 딕셔너리를 조회하여 테이블에 설정되어 있는 제약 조건을 확인할 수 있다.
특정 테이블의 제약 조건 조회하기
SELECT
table_name,
column_name,
constraint_name
FROM
user_cons_columns
WHERE
table_name = '테이블명(대문자로)'
여기서 각 열은 다음과 같은 의미를 갖는다.
table_name
: 제약 조건이 적용된 테이블의 이름column_name
: 제약 조건이 적용된 컬럼의 이름constraint_name
: 제약 조건의 이름
user_cons_columns
시스템 뷰를 사용하여 사용자가 소유한 특정 테이블에 설정된 제약 조건 정보를 가져오는데,
이를 위해 table_name
필드를 조건으로 사용하여 특정 테이블명을 대문자로 지정한다.
이는 Oracle에서는 대소문자를 구분하지 않기 때문에 대문자로 일치시켜줘야 한다.
특정 테이블의 특정 컬럼에 설정되어 있는 모든 제약 조건 보기
SELECT
constraint_name,
constraint_type,
table_name,
column_name
FROM
user_cons_columns
WHERE
table_name = '특정테이블명'
AND column_name = '특정컬럼명';
constraint_name
: 제약 조건의 이름constraint_type
: 제약 조건의 유형 (예: PRIMARY KEY, UNIQUE, CHECK 등)table_name
: 제약 조건이 적용된 테이블의 이름column_name
: 제약 조건이 적용된 컬럼의 이름
제약 조건 삭제하기
ALTER TABLE test_users
DROP CONSTRAINT users_name_fk;
이런 식으로 고객 테이블의 name
이라는 외래 키 조건이 설정된 컬럼의 외래 키 제약 조건을 해제(삭제)할 수 있습니다.
'데이터베이스_Database > SQL' 카테고리의 다른 글
[SQL] 함수 종속성 규칙 (0) | 2024.08.02 |
---|---|
[SQL] 그룹함수(ROLLUP, CUBE, GROUPING SET) 예시를 통해 완전 습득하기! (0) | 2024.08.02 |
[SQL] 제약 조건 ENABLE (0) | 2024.04.14 |
[SQL] 제약 조건 DISABLE (0) | 2024.04.14 |
[SQL] FOREIGN KEY와 CASCADE?(ON DELETE / ON UPDATE) (0) | 2024.04.14 |