반응형

# 오라클 오류

  • 트리거에 COMMIT 혹은 예외처리 구문 존재 시 발생하기도 함.
  • 보통 ORA-06512 와 ORA-04088 같이 나타남.
  • 이 경우 트리거에서 해당하는 구문을 제거하면 오류없이 정상 작동하는것을 확인할 수 있다.

 

반응형

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

오라클 PL/SQL IF문  (0) 2022.09.17
오라클 함수기반 인덱스  (0) 2022.09.16
오라클 프로시저 실행 (out 존재하는 경우)  (0) 2022.08.25
오라클 함수 내부에서 DML 사용  (0) 2022.08.23
SVN 히스토리 확인방법  (0) 2022.08.23
반응형

# 오라클 프로시저 실행 (out 존재하는 경우)

  • 프로시저에 아래와 같이 out존재하는경우.
CREATE OR REPLACE PROCEDURE TEST_PRO(RESULT_CODE OUT VARCHAR2, RESULT_MSG OUT VARCHAR2) IS
BEGIN
	...
	COMMIT;
    
	EXCEPTION
	WHEN OTHERS THEN
		ROLLBACK;
		RESULT_CODE := SQLCODE;
		RESULT_MSG := SQLERRM;
END;
/
  • 해당 프로시저를 실행하는 방법은 아래와 같다.
DECLARE
	OUT1 VARCHAR2(100);
	OUT2 VARCHAR2(100);
BEGIN
	TEST_PRO(OUT1, OUT2);
	DBMS_OUTPUT.PUTLINE(OUT1 || ' ' || OUT2);
END;
반응형

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

오라클 함수기반 인덱스  (0) 2022.09.16
오라클 오류 ORA-06512, ORA-04088  (0) 2022.09.15
오라클 함수 내부에서 DML 사용  (0) 2022.08.23
SVN 히스토리 확인방법  (0) 2022.08.23
문자열 길이 체크 로직  (0) 2022.08.03
반응형

# 오라클 함수 내부에서 DML 사용.

  • 오라클 함수(Function)에서 DML 사용 불가.

## 오라클 함수에서 DML 사용하기.

  • 오라클 함수에서 완전히 DML문을 사용할수 없는건 아니고, 아래의 옵션을 추가하면 사용 할 수 있다.
PRAGMA AUTONOMOUS_TRANSACTION;
  • 해당 옵션은 자율 트랜잭션 설정 옵션.
  • 아래와 같이 사용 가능하다. (아래 예제 함수의 리턴은 CURSOR)
CREATE OR REPLACE 함수명
(파라미터 값)
RETURN TYPES.CURSORTYPE
AS
	L_CURSOR TYPES.CURSORTYPE;
	변수 지정.
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN

	INSERT문
	COMMIT;

	OPEN L_CURSOR FOR
	SELECT 문
	RETURN L_CURSOR;
	CLOSE L_CURSOR;
END;
/



## COMMIT 미 사용시 발생할수 있는 오류

  • 오라클 함수에서 PRAGMA AUTONOMOUS_TRANSACTION; 추가 후 DML문 적용한 뒤 해당 함수 호출 시 COMMIT 입력이 누락된 경우 아래 오류 발생.
  • ORA-06519 자율적인 트랜잭션 사용이 발견되었고 롤백 되었습니다.
  • 해결방법 : DML 문 사용 후 COMMIT 입력.

 

반응형
반응형

# SVN 히스토리 확인방법

## Show History

  • Show History 를 이용하여 SVN 커밋 내역 등을 확인을 할 수 있다.
  • 기본적인 히스토리 확인 : 프로젝트 우 클릭 > Team > Show History 선택하면 History 탭에서 Author에 따른 히스토리 확인가능.
  • 전체 히스토리 확인 : 전체 히스토리를 보고 싶다면 Show History 탭에서 우측 상단에 Show All 버튼을 클릭하면 된다.

 

반응형

+ Recent posts