본문 바로가기
Oracle(DB관련)

oracle plsql debugging

by xfree302 2016. 12. 5.
반응형

oracle plsql debugging


sqlcode

sqlerrm


enter : chr(10)

schema : SYS_CONTEXT('USERENV', 'CURRENT_USER')

object name : $$PLSQL_UNIT

line : $$PLSQL_LINE

error trace: dbms_utility.format_error_backtrace();



가장 최근에 수행된 SQL문에 의한 영향을 준 행

sql%rowcount : 행의 갯수(정수)

sql%found : 행의 갯수가 한 개 이상이면 TRUE(BOOLEAN)

sql%notfound : 행의 갯수가 없으면 TRUE(BOOLEAN)

sql%isopen : PL/SQL은 실행 후 바로 묵시적 커서(IMPLICIT CURSOR)를 닫기 때문에 항상 FALSE로 평가


ex)


if vs_code is null or vs_code = '' then

       o_val := -1;

       o_msg := '코드 입력하세요. '||chr(10)||SYS_CONTEXT('USERENV', 'CURRENT_USER')||'.'||$$PLSQL_UNIT || ', Line:'||$$PLSQL_LINE; 

       return;    

end if;



EXCEPTION

    WHEN OTHERS THEN

        rollback;

        o_rtn_msg := o_rtn_msg||': '||sqlcode||chr(10)||sqlerrm||chr(10)||dbms_utility.format_error_backtrace();

        dbms_output.put_line(o_rtn_msg);



if sql%rowcount <= 0 then

      o_rtn_val := -2;

      o_rtn_msg := '처리된 행이 없습니다. '||chr(10)||SYS_CONTEXT('USERENV', 'CURRENT_USER')||'.'||$$PLSQL_UNIT || ', Line:'||$$PLSQL_LINE; 

      return;

end if;

반응형

'Oracle(DB관련)' 카테고리의 다른 글

oracle table fuction  (0) 2016.12.06
oracle SYS_CONTEXT  (0) 2016.12.05
sqlplus -prelim  (0) 2014.08.11
Automatic Workload Repository - awrrpt.sql  (0) 2014.04.09
flashback_transaction_query  (0) 2013.11.07