plsql如何查看正在履行的SQL
在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保存到变量中,然落后行进一步的处理或输出。
TOP