프로시저 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 테스트
CREATE OR REPLACE PROCEDURE TOADDEBUGPROCEDURE(PARAM1 IN JOBS.MIN_SALARY%TYPE, PARAM2 IN NUMBER, RESULT OUT NUMBER, P_CURSOR OUT SYS_REFCURSOR BEGIN OPEN P_CURSOR FOR RESULT := PARAM1 + PARAM2; --DBMS_OUTPUT.PUT_LINE(RESULT);
|
Oracle 9i 이상부터는 Cursor를 OUT Parameter에 정의 할 때 타입을 만들지 않고 기본 설정에 있는 SYS_REFCURSOR를 사용하여 테스트 할 수 있다. 다른 타입을 만들고 싶다면 위에 링크 클릭.
실행1
EXEC TOADDEBUGPROCEDURE(1,2, :RESULT, :CUR) |
실행하게 되면 :RESULT, :CUR 값을 설정할 수 있는 창이 뜨는데 :RESULT의 Type은 VARCHAR2, :CUR의 Type은 Cursor 로 설정해야 한다.
실행이 완료되면 Cursor의 Return값은 Data Grid에 표시가 되고 RESULT는 DBMS Output 에 결과가 표시된다.
실행2
DECLARE BEGIN HR.TOADDEBUGPROCEDURE ( PARAM1, PARAM2, RESULT, :P_CURSOR ); DBMS_OUTPUT.Put_Line('RESULT = ' || TO_CHAR(RESULT)); COMMIT; |
실행은 위와 비슷하다. 이것은 스크립트 디버거에 있는 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 열에 있는)와 맞아야 합니다
오라클 정규식 치환 regexp_replace (0) | 2012.05.31 |
---|---|
오라클 분석 함수 MAX() KEEP( DENSE_RANK FIRST ) (0) | 2012.05.31 |
Oracle Client 없이 오라클 연결 ( Instant Client / 오라클 배포 ) (0) | 2012.05.31 |
logical 명을 database comment로 사용하기 (0) | 2012.05.31 |
UNION,GROUP BY : M:M 및 양쪽 Outer join을 자연스럽게 해결 (0) | 2012.05.31 |