SQL 기억해야 할 쿼리

제약조건 검색하는 쿼리

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




제약조건의 컬럼까지 확인하는 쿼리

제약조건을 조합값에 걸때는 1번쿼리로는 어떤 컬럼의 조합값이 들어가있는지 확인하기 어렵다.
이때 사용할 수 있는 쿼리구문이다.

  • 같은 제약조건명을 가진 컬럼명을 확인하면 된다.
1
2
3
4
//기본
select constraint_name, column_name
from user_cons_columns
where lower(table_name) = lower( '&table_name');




제약조건 타입과 조합값까지 함께 검색하는 쿼리

즉 1번과 2번을 join한 쿼리이고 개발자가 자주 사용하는 쿼리이다

1
2
3
4
5
6
7
8
9
10
11
col column_name format a15
col constraint_name format a15
col r_constraint_name format a20

select a.column_name, b.constraint_name, b.constraint_type, b.search_condition, b.r_constraint_name,
c.table_name as parnet_table, a.column_name as parnet_column
from user_cons_columns a join user_constraints b
on a.constraint_name = b.constraint_name
left outer join user_cons_columns c
on b.r_constraint_name = c.constraint_name
where lower(a.table_name) = lower('&table_name');




SQL에서는 무조건 작은따옴표 ''를 사용한다.