【问题标题】:dbms_output.put_line not working properly with a cursordbms_output.put_line 不能与游标一起正常工作
【发布时间】:2019-02-12 19:35:59
【问题描述】:

我试图通过 dbms_output 命令使用游标打印从 1 到 100 的数字,但出现错误,提示“ORA-06550:第 6 行,第 1 列:PLS-00306:错误的数字或参数类型调用“PUT_LINE””

然后我尝试使用表格来做同样的事情。 为此,我使用了以下查询:

insert into numb select rownum r from dual connect by rownum

但错误仍然存​​在。

这是我为双表执行的代码:

声明

cursor c_num is select rownum n from dual connect by rownum <=100;
begin 
    for i in c_num
    loop
        dbms_output.put_line('Number is '||i);

    end loop;
end;

对于用户制作的表号:

声明

cursor c_num is select num from numb;
begin 
    for i in c_num
    loop
        dbms_output.put_line('Number is '||i);    
    end loop;
end;

请告诉我这段代码有什么问题。

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    i 是一个记录类型。您不能将字符串(“Number is”)连接到记录类型。试试这个:

    dbms_output.put_line('Number is '||to_char(i.num)); 
    

    【讨论】:

    • @dingobingo 不客气。如果您的问题已得到解答,请考虑接受答案。这样一来,您的问题就不会再显示为“未回答”。
    猜你喜欢
    • 1970-01-01
    • 2018-11-10
    • 2014-07-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多