본문 바로가기

Oracle

[TOAD] 토드에서 프로시저(PROCEDURE, PL/SQL) 실행 및 RETURN(OUT) 값 받기

프로시저 procedure (procedure editor)

컴파일 F9
실행테스트 shift + F9

또는 schema browser 에서 procs 탭 선택 후 프로시저명에 마우스 우측 클릭 execute procedure

dbms_output.put_line 보기

메뉴 - view - DBMS Output

plsql (sql editor)

컴파일 F9
실행 F5

 

여러 SQL 이 있을 경우 블럭으로 선택 한 후

컴파일 F9
실행 ctrl + enter

 CURSOR를 OUT PARAMETER로 처리할 경우 오라클 TYPE 정의 : http://www.oradev.com/ref_cursor.jsp

PROCEDURE DEBUG : http://www.jjimkorea.pe.kr/21

PROCEDURE OUT : http://www.jjimkorea.pe.kr/73

 

오라클 사용자 중 HR 사용자를 이용하여 PROCEDURE 테스트

Oracle 9i 이상부터는 Cursor를 OUT Parameter에 정의 할 때 타입을 만들지 않고 기본 설정에 있는 SYS_REFCURSOR를 사용하여 테스트 할 수 있다. 다른 타입을 만들고 싶다면 위에 링크 클릭.

실행1

실행하게 되면 :RESULT, :CUR 값을 설정할 수 있는 창이 뜨는데 :RESULT의 Type은 VARCHAR2, :CUR의 Type은 Cursor 로 설정해야 한다.
실행이 완료되면 Cursor의 Return값은 Data Grid에 표시가 되고 RESULT는 DBMS Output 에 결과가 표시된다.

실행2

실행은 위와 비슷하다. 이것은 스크립트 디버거에 있는 Step Over 메뉴를 이요하면 자동으로 만들어 준다.

=======================================================================================================================

Warning: compiled but with compilation errors 

토드에서 Procedures, Functions, PL/SQL 실행시 F5로 실행, Shift+F9로 실행을 했을때는 에러가 나도 아래와 같은 메세지만 던져 준다.

Warning: compiled but with compilation errors

이때. 왼쪽 상단의 Execute Statement나 단축키 F9를 누르면 에러의 위치를 보여준다.

PLS-00113: END 'AGETJOIN' 식별자는 'GETJOIN' (1 줄, 10 열에 있는)와 맞아야 합니다