关于oracle:调用 'PUT_LINE' 时参数个数或类型错误

1declare2penameemp.ename%type;3begin4forpenamein(selectenamefromemp)5loop6dbms_output... 1 declare
2 pename emp.ename%type;
3 begin
4 for pename in (select ename from emp)
5 loop
6 dbms_output.put_line(pename);
7 end loop;
8* end;
9 /
dbms_output.put_line(pename);
*
第 6 行出现错误:
ORA-06550: 第 6 行, 第 1 列:
PLS-00306: 调用 'PUT_LINE' 时参数个数或类型错误
ORA-06550: 第 6 行, 第 1 列:
PL/SQL: Statement ignored
-----------------------------
为什么会出现这个错误,而如果把第二行该为:pename emp%rowtype;

第4行改为:for pename in (select * from emp)
第6行改为:dbms_output.put_line(pename.ename);
就没问题,为什么?
展开
 我来答
badkano
2013-07-29 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部
declare  
pename emp.ename%type;  
begin  
for pename in (select ename from emp)  
loop  
dbms_output.put_line(pename.ename);  
end loop;  
end;

你第四行不改也行

这个是因为你前边定义了pename这个类型,到后边输出时要带上输出的那个字段,他才能找到你要使出什么东西

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式