在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保存到变量中,然后进行进一步的处理或输出。