SET SERVEROUTPUT ON (或 SET SERVEROUTPUT ON SIZE 1000000 調大緩衝)。DBMS_OUTPUT.PUT_LINE('變數值: ' || var_name);CREATE OR REPLACE PROCEDURE test_debug IS
v_emp_name VARCHAR2(10);
CURSOR c1 IS SELECT ename FROM emp WHERE deptno = 20;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_emp_name;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('處理員工: ' || v_emp_name);
END LOOP;
CLOSE c1;
END test_debug;
/
-- 執行驗證
SET SERVEROUTPUT ON
EXEC test_debug;
處理員工: SMITH
處理員工: JONES
處理員工: SCOTT
處理員工: ADAMS
處理員工: FORD
PL/SQL procedure successfully completed.
DBMS_OUTPUT.PUT_LINE(RPAD('欄位',20) || ' = ' || value);DEBUG(p_msg VARCHAR2, p_level INT DEFAULT 1) 程序,依環境變數控制輸出層級。SET SERVEROUTPUT ON SIZE UNLIMITED (11g+) 避免緩衝區溢位。DBMS_OUTPUT.PUT_LINE 是零依賴、即寫即用的輕量除錯手段,適合快速驗證邏輯、變數值;複雜場景請升級使用 IDE 內建除錯器。