在PL/SQL中,可以通過使用DBMS_UTILITY.FORMAT_CALL_STACK
和DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
函數來查看正在執行的SQL。下面是一個示例代碼:
DECLARE
v_sql VARCHAR2(32767);
BEGIN
-- 獲取正在執行的SQL
v_sql := DBMS_UTILITY.FORMAT_CALL_STACK;
-- 打印正在執行的SQL
DBMS_OUTPUT.PUT_LINE(v_sql);
-- 獲取錯誤的SQL
v_sql := DBMS_UTILITY.FORMAT_ERROR_BACKTRACE;
-- 打印錯誤的SQL
DBMS_OUTPUT.PUT_LINE(v_sql);
END;
在上面的例子中,DBMS_UTILITY.FORMAT_CALL_STACK
函數返回當前正在執行的SQL,而DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
函數返回最近的錯誤信息中的SQL。你可以根據需要將這些SQL保存到變量中,然后進行進一步的處理或輸出。