Database/Oracle

Oracle DB) 제약 조건 확인하기(SQLPlus, Developer)

luana_eun 2022. 3. 22. 15:39
728x90

제약조건 확인

테이블을 생성 후 desc 명령으로는 not null외의 제약조건은 확인할 수 없다.

 

null외의 제약조건을 확인하려면 user_constrange 라는 DB사전을 사용해야한다. 

select constraint_name, constraint_type, search_condition, r_constraint_name
from user_constraints
where table_name = '테이블명(대문자로)';

 

 

근데, 제약조건을 확인하는 명령문이 너무 길고 매번작성하기 힘들어서 변수로 저장하려한다!

sql쿼리문에 변수 넣기

select constraint_name, constraint_type, search_condition, r_constraint_name
from user_constraints
where lower(table_name) = lower('&table_name');

매번 테이블명을 대문자로 적기 힘드니 lower()함수를 추가했고, 

&변수명 으로 변수를 지정했다. 

 

이제 이 쿼리문을 실행하면 변수명이 무엇인지 물어보는 문구가 나오고,

       => Enter value for table_name:

대답으로 테이블 명을 입력하면 쿼리문이 실행된다. 

 

 

 sql쿼리문을 파일로 저장하기

제약조건을 확인하는 명령은 앞으로 자주 쓰일테니 파일로 만들어서 사용하고자 한다. 

 

1) 현재 퍼버에 해당 sql문 남아있는지 확인 > l (소문자L)

 

 

2) 쿼리문 저장 => save /저장위치/파일이름.sql

    ** 확장자는 .sql 이어야한다. 

save /home/oracle.../search_cons.sql

 

 

3) 저장한 파일 사용하기

@/home ~ 파일경로/파일명.sql

 

 


SQL Developer에서 제약조건 확인하기

Developer는 애초에 개발자들이 편리하게 사용하라고 나온 프로그램이기 때문에 제약조건을 보는 방법이 간단하다. 

좌측의 테이블을 한번 누른 뒤, 상단의 카테고리(?)들 중 [제약조건]을 누르면 바로 볼 수 있다. 

728x90