【发布时间】:2019-06-04 17:48:48
【问题描述】:
我有以下任务: “编写一个 Print Siblings 程序(p 个人),输入来自家谱方案的人的姓名或 ID,然后输出兄弟姐妹列表。”
表关系,其中包含一个人的继任者(Nachfolger)和前任者(Vorgänger)的信息。 Table Relations
我的程序如下:
create or replace procedure PrintSiblings4(p_Person varchar2)
is
cursor c_geschwister is select nachfolger
from relations
where nachfolger != p_Person and vorgänger =
(select vorgänger from relations
Where nachfolger = p_Person and rownum = 1) ;
v_geschwister c_geschwister%rowtype;
begin
open c_geschwister;
loop
fetch c_geschwister into v_geschwister;
exit when c_geschwister%NOTFOUND;
dbms_output.put_line('geschwister' || v_geschwister);
end loop;
end;
如果我编译该过程,sqldeveloper 会收到以下错误消息:
错误 (14,22):PLS-00306:参数的数量或类型不正确 调用“||”
我不明白为什么它不起作用。我使用显式游标来处理我得到超过 1 行的问题,但它不起作用。
【问题讨论】:
-
补充建议:始终关闭光标。
标签: sql oracle plsql dbms-output