반응형

# 오라클 트리거 조회 (트리거 활성 상태 등)

  • 트리거를 조회하는 다양한 방법 존재.
  • 그 중 USER_TRIGGERS 를 조회하여 확인하는 방법도 있다.  
  • WHERE 조건을 추가하여 특정 테이블에 존재하는 트리거와 상태를 조회할 수 있다.
SELECT TRIGGER_NAME, STATUS
FROM USER_TRIGGERS
WHERE FABLE_NAME = '테이블명';

 

반응형

'메모장' 카테고리의 다른 글

오라클 .5 표현 처리 (TO_CHAR, FM)  (0) 2022.09.28
오라클 트리거 :NEW 값 변경 (BEFORE)  (0) 2022.09.20
오라클 PL/SQL LOOP문  (0) 2022.09.19
오라클 PL/SQL IF문  (0) 2022.09.17
오라클 함수기반 인덱스  (0) 2022.09.16
반응형

# 오라클 PL/SQL LOOP문

  • loop문의 경우 자바의 for문과 동일하지만 표현의 차이가 존재.
  • 자바에서 for문 사용 시 특정 조건(if)에 해당될때 for문을 빠져 나오기 위해서는 BREAK 키워드를 사용.
  • PL/SQL에서 LOOP 사용 시 특정 조건(if)에 해당될때 LOOP문을 빠져 나오기 위해서는 EXIT [WHEN 조건] 키워드를 사용.
FOR I IN (
	쿼리
) LOOP

	IF ~ THEN
		~
	ELSIF ~ THEN
		~
		EXIT;
	ELSE
		~
	END IF:

END LOOP;
반응형
반응형

# 오라클 PL/SQL IF ~ THEN ~ ELSE

  • 자바의 경우 아래와 같이 if 문 작성.
if (조건) {
	처리내용;
} else if (조건) {
	처리내용;
} else {
	처리내용;
}
  • 오라클의 경우 아래와 같이 if 문 작성. (자바와 표현 방식만 다름)
IF 조건 THEN
	처리내용;
ELSIF 조건 THEN
	처리내용;
ELSE
	처리내용;
END IF;
반응형
반응형

# 오라클 함수기반 인덱스 (Function Based Indexes)

  • 오라클레는 기본 인덱스 외에도 함수형 인덱스를 생성할 수 있다.
  • 테이블의 특정 컬럼에 인덱스가 걸려있지만, 변형해서 사용하는 경우 인덱스가 작동하지 않아 해당 테이블을 풀 스캔(FULL SCAN) 하게 된다.
TEMP_INFO 테이블에 ACCOUNT_NO 에 인덱스가 걸려있다고 가정할때...

REPLACE(ACCOUNT_NO, '-',  '') 처럼 변형하여 사용하는 경우 -> 인덱스가 작동 하지 않게된다.
  • 소량의 데이터를 처리할 때는 상관 없겠지만, 대량의 데이터를 처리하는 경우는 조회 속도가 느려지는 등의 문제가 발생하게 된다.
  • 이와 같은 문제는 함수기반 인덱스를 사용하게되면 해결할 수 있다.

## 함수기반 인덱스 생성

인덱스 생성 기본 형식

CREATE INDEX 스키마명.생성할인덱스명 ON 스키마명.인덱스를생성할테이블명 (생성할 인덱스)

함수기반 인덱스 생성

  • TEMP_INFO 테이블에 ACCOUNT_NO 존재한다고 가정할때
CREATE INDEX TEMP_INFO_ACCOUNT_NO_IDX01 ON TEMP_INFO (REPLACE("ACCOUNT_NO", '-',  ''));
반응형

'메모장' 카테고리의 다른 글

오라클 PL/SQL LOOP문  (0) 2022.09.19
오라클 PL/SQL IF문  (0) 2022.09.17
오라클 오류 ORA-06512, ORA-04088  (0) 2022.09.15
오라클 프로시저 실행 (out 존재하는 경우)  (0) 2022.08.25
오라클 함수 내부에서 DML 사용  (0) 2022.08.23

+ Recent posts