不能。
dbms_output.put_line是輸出到屏幕的。
你把內容保存到變量里面不就行了。

解决方案 »

  1.   

    put_line输出的内容直接保存到表中不就可以了吗?不是很明白你的意思???
      

  2.   

    declare
    cursor c_table is select *
    from user_tab_columns
    where TABLE_NAME='&tab1';
    v_table user_tab_columns%rowtype;begin
      
      dbms_output.put_line('CREATE TABLE'||' '||'&tab1'||'(');
      open c_table;
      
      loop
        fetch C_table into v_table;
        exit when C_table%notfound;
        
      dbms_output.put_line(v_table.COLUMN_NAME||' ' ||v_table.DATA_TYPE||'('||v_table.DATA_LENGTH||')');               
      end loop;
      dbms_output.put_line(');');
      close c_table;
    end;
    /
    以上语句是实现随意输入一个数据库表,显示它的创建语句.但是这个程序只能输出到
    屏幕上,有没有方法让语句直接传到一个参数中?
      

  3.   

    把每一个OUTPUT字符串,附值给变量。
      STR :=STR+
    这样不行?