在SQL Developer中打印变量的值

我想打印一个在匿名块内的特定变量的值。我正在使用Oracle SQL Developer。我尝试使用dbms_output.put_line。但这是行不通的。我正在使用的代码如下所示。


SET SERVEROUTPUT ON


DECLARE


  CTABLE USER_OBJECTS.OBJECT_NAME%TYPE;

  CCOLUMN ALL_TAB_COLS.COLUMN_NAME%TYPE;

  V_ALL_COLS VARCHAR2(500);


  CURSOR CURSOR_TABLE

    IS

    SELECT OBJECT_NAME 

    FROM USER_OBJECTS 

    WHERE OBJECT_TYPE='TABLE'

    AND OBJECT_NAME LIKE 'tb_prm_%';


  CURSOR CURSOR_COLUMNS (V_TABLE_NAME IN VARCHAR2)

    IS

    SELECT COLUMN_NAME

    FROM ALL_TAB_COLS

    WHERE TABLE_NAME = V_TABLE_NAME;


BEGIN


  OPEN CURSOR_TABLE;


  LOOP

    FETCH CURSOR_TABLE INTO CTABLE;

    EXIT WHEN CURSOR_TABLE%NOTFOUND;


    OPEN CURSOR_COLUMNS (CTABLE);


    V_ALL_COLS := NULL;


    LOOP

      FETCH CURSOR_COLUMNS INTO CCOLUMN;

      V_ALL_COLS := V_ALL_COLS || CCOLUMN;

      IF CURSOR_COLUMNS%FOUND THEN

        V_ALL_COLS := V_ALL_COLS || ', ';

      ELSE

        EXIT;

      END IF;

    END LOOP;


    DBMS_OUTPUT.PUT_LINE(V_ALL_COLS);


  END LOOP;

  CLOSE CURSOR_TABLE;


END;

我只得到输出anonymous block completed。


开满天机
浏览 833回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle