参数数量或类型错误在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.