![](/img/trans.png)
[英]How to use <br> tag in Dbms_output.put_line(''); in PL/SQL Oracle?
[英]Wrong quantity or types of arguments error while using dbms_output.put_line in Oracle PL/SQL
我的命令dbms_output.put_line()
有问题。
我有一个变量pres_name
,我想在屏幕上打印该值。 因此,我使用dbms_output.put_line()
但该命令不接受这种类型的Variable,但是我发现他们使用的所有站点都像dbms_output.put_line(varchar variable)
。 但是我得到这个警告:
Fehler(15,5):please-00306:Fausche Anzahl oder Typen von Argumenten in Aufruf von'PUT'
用英语:
错误的数量或类型的看跌期权的调用
我使用Oracle sql开发人员。
编码:
create or replace
procedure ex10_1
(
pr_name varchar
)
as
cursor pres is select vice_pres_name from admin_pr_vp;
begin
open pres;
for pr_name in pres loop
dbms_output.put_line(pr_name);
end loop;
end;
ps:代码还不完美。
<snip>
for pr_name in pres loop
dbms_output.put_line(pr_name);
end loop;
<snip>
在PL / SQL中, 游标for循环隐式地将循环变量声明为与游标行匹配的记录类型。 因此,在循环pr_name
是具有单个字段vice_pres_name
的记录。 该字段的类型为vice_pres_name%TYPE
。 此内部pr_name
了外部pr_name
参数。 DBMS_OUTPUT.PUT_LINE使用varchar2,并且PL / SQL无法隐式转换pr_name
记录。
这是一个匿名示例,该示例使用游标进行循环并使用记录语法来打印游标返回的值:
SQL> declare
2 cursor pres is select 'A' as vice_pres_name
3 from dual union all select 'B' from dual;
4 begin <<ex10_1>>
5 for pr_name in pres loop
6 dbms_output.put_line(pr_name.vice_pres_name);
7 end loop;
8 end ex10_1;
9 /
A
B
PL/SQL procedure successfully completed.
还要注意,cursor for循环会为您隐式打开和关闭游标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.