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
'Database > Oracle' 카테고리의 다른 글
Oracle DB) 단일 행 함수 - 숫자함수: 반올림, 버림, 나머지 (0) | 2022.04.12 |
---|---|
Oracle DB) DDL - ALTER 테이블 수정(add, rename, modify, drop) (0) | 2022.03.22 |
Oracle DB) 제약 조건: Primary Key, Foreign key, Unique, Not Null, Check (0) | 2022.03.15 |
Oracle DB) 데이터 정의어(DDL) - CREATE 테이블 생성, 복사 (0) | 2022.03.15 |
Oracle DB) 단일행 함수 - 문자함수(자르기, 연결하기 등등) (0) | 2022.03.02 |