如果在一個過程中得到上級呼叫它的過程的資訊
建立被呼叫的過程T1:
CREATE OR REPLACE PROCEDURE T1 IS
L_OWNER VARCHAR2(100);
L_NAME VARCHAR2(100);
L_LINENO NUMBER;
L_CALLER_T VARCHAR2(100);
BEGIN
OWA_UTIL.WHO_CALLED_ME(OWNER => L_OWNER,
NAME => L_NAME,
LINENO => L_LINENO,
CALLER_T => L_CALLER_T);
DBMS_OUTPUT.PUT_LINE('t1');
DBMS_OUTPUT.PUT_LINE(L_OWNER || ' : ' || L_NAME || ' : ' || L_LINENO ||
' : ' || L_CALLER_T);
END T1;
建立呼叫T1的過程T2:
CREATE OR REPLACE PROCEDURE T2 IS
BEGIN
T1;
END T2;
測試:
SQL> set serveroutput on;
SQL> exec t1;
t1
: : 1 : ANONYMOUS BLOCK
PL/SQL procedure successfully completed
SQL> exec t2;
t1
TEST : T2 : 3 : PROCEDURE
PL/SQL procedure successfully completed
SQL>
可以看出OWNER 、NAME、LINENO、CALLER_T四個引數分別定義了呼叫者的所有者、名稱、在第幾行呼叫、呼叫者的程式型別。
當沒有人呼叫的時候,則資料在匿名塊的第一行被呼叫的資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-904112/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- OAuth 2.0以及它的工作過程工作過程OAuth
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- Servlet呼叫過程Servlet
- jsp中呼叫儲存過程JS儲存過程
- Sql Server 資料庫中呼叫dll檔案的過程SQLServer資料庫
- 呼叫儲存過程儲存過程
- Sqlsugar呼叫Oracle的儲存過程SqlSugarOracle儲存過程
- Runtime原始碼 方法呼叫的過程原始碼
- MySQL升級過程中的一些心得-2MySql
- MySQL升級過程中的一些心得-1MySql
- 一個Flutter中臺元件的開發過程Flutter元件
- https的通訊過程HTTP
- 記一次uboot升級過程的兩個坑boot
- 記升級 macOS Mojave 過程中的一件小事Mac
- linux呼叫儲存過程Linux儲存過程
- Winform呼叫儲存過程ORM儲存過程
- 【圖文】函式呼叫過程中棧的變化函式
- 一種面嚮物件語言的方法呼叫過程。物件
- 一個技術的成長過程
- 手撕一個spirng IoC的過程
- synchronized升級過程synchronized
- mysql多次呼叫儲存過程的問題MySql儲存過程
- Google遠端過程呼叫-GRPCGoRPC
- mysql如何呼叫儲存過程MySql儲存過程
- 函式棧幀(呼叫過程)函式
- 一個 ExpressionChangedAfterItHasBeenCheckedError 錯誤的解決過程ExpressError
- 8.7 一個模組的封裝過程封裝
- Sqlserver中的儲存過程SQLServer儲存過程
- TCP/IP的通訊過程-VeCloudTCPCloud
- promisify 的過程
- js中=、==、===三個的區別是什麼?並說明它們各自的工作過程JS
- 資料的過程性表示
- 大資料開發過程中的5個通用步驟大資料
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- 測試過程中如何快速定位一個 bug
- 測試過程中如何快速定位一個bug
- iOS main()執行前的過程 + weak 置 nil的過程iOSAI