2009-04-21 1 views

답변

3

DBMS_UTILITY.FORMAT_CALL_STACK() 함수가 반환 한 텍스트를 구문 분석 할 수 있습니다.

편집 : 일부 테스트 패키지를 만들려고했습니다. XX_TESTB 패키지에 다른 프로 시저를 호출하는 프로 시저가 있습니다. XX_TESTB의 프로시 저는 DBMS_UTILITY.FORMAT_CALL_STACK()에 의해 리턴 된 텍스트를 출력하기 만하면됩니다. 결과 텍스트 :

----- PL/SQL Call Stack ----- 
    object  line object 
    handle number name 
416fe0e68   5 package body APPS.XX_TESTB 
415182f10   5 package body APPS.XX_TESTA 
416e9b448   3 anonymous block 
+0

공급 보다 내. 나는 $$ PLSQL_UNIT이 정말 유용하다고 생각하지만, 상대적으로 새로운 것이기 때문에 잘 알려져 있지 않다고 생각한다. – cagcowboy

3

매개 변수로 이름을 전달할 수 있습니까?

사용 ....

$$PLSQL_UNIT 

에서 : http://awads.net/wp/2006/08/03/heres-a-quick-way-to-get-the-line-number-in-plsql

[email protected]> CREATE OR REPLACE PACKAGE my_pkg 
    2 IS 
    3  PROCEDURE my_proc; 
    4 END; 
    5/

Package created. 

[email protected]> CREATE OR REPLACE PACKAGE BODY my_pkg 
    2 IS 
    3  PROCEDURE my_proc 
    4  IS 
    5  BEGIN 
    6  DBMS_OUTPUT.put_line ('Line number: ' || $$plsql_line); 
    7  DBMS_OUTPUT.put_line ( 'Unit: ' 
    8        || $$plsql_unit 
    9       ); 
10  END; 
11 END; 
12/

Package body created. 

[email protected]> exec my_pkg.my_proc; 
Line number: 6 
Unit: MY_PKG 
+0

링크 주셔서 감사합니다. 많은 흥미로운 기사가 ​​있습니다! 내 RSS 리더에 추가 :-) –