参数数量或类型错误在Oracle PL/SQL中使用dbms\u output.put\u行时出错
我对命令参数数量或类型错误在Oracle PL/SQL中使用dbms\u output.put\u行时出错,sql,oracle,plsql,oracle-sqldeveloper,Sql,Oracle,Plsql,Oracle Sqldeveloper,我对命令dbms\u output.put\u line()有问题 我有一个变量pres_name,我想在屏幕上打印该值。因此,我使用了dbms\u output.put\u line(),但该命令不接受这种类型的变量,但我发现的所有站点都像dbms\u output.put\u line(varchar变量)一样使用它。 但我得到这个警告: 费勒(15,5):请-00306:Falsche Anzahl oder Typen von Argumenten in Aufruf von'PUT'
dbms\u output.put\u line()
有问题
我有一个变量pres_name
,我想在屏幕上打印该值。因此,我使用了dbms\u output.put\u line()
,但该命令不接受这种类型的变量,但我发现的所有站点都像dbms\u output.put\u line(varchar变量)
一样使用它。
但我得到这个警告:
费勒(15,5):请-00306:Falsche Anzahl oder Typen von Argumenten in Aufruf von'PUT'
英文:
调用put时参数的数量或类型错误
我使用Oracle sql developer
守则:
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;
附:代码还不完善
<snip>
for pr_name in pres loop
dbms_output.put_line(pr_name);
end loop;
<snip>
还要注意,循环的游标隐式地为您打开和关闭游标
还要注意,循环的游标隐式地为您打开和关闭游标 您是否也在键入
varchar
?您只需要dbms\u输出。将\u行(您的变量)
。首先尝试一个更简单的方法:dbms\u输出。输入行('hello,world')
。如果我写一个文本作为参数,则不能正确编写,并且命令可以工作。您是否也在键入varchar
?您只需要dbms\u输出。将\u行(您的变量)
。首先尝试一个更简单的方法:dbms\u输出。输入行('hello,world')
。如果我写一个文本作为参数,就不能正确地编写它,并且命令可以工作
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.