【发布时间】:2021-07-08 15:41:35
【问题描述】:
我正在尝试在 PL/SQL 语句中使用 DECODE(用于示例 HR 模式) 但我收到了这个错误:
''exact fetch指定的数小于返回的行数''
这条语句从用户那里得到了一个 DEPARTMENT_ID,将它与一个解码部分进行比较,并显示该部门的位置。
declare
v_dep varchar2(30);
v_User_Input number(4):=&EnterLocID;
begin
select decode(v_User_Input,10,'Seattle',
20,'Toronto',
30,'Toronto',
40,'London',
50,'South San Francisco',
60,'Southlake',
70,'Munich',
80,'Oxford',
90,'Toronto',
'else' )into v_dep from locations l,departments d
where v_User_Input = d.department_id;
DBMS_OUTPUT.PUT_LINE(v_dep);
end;
/
【问题讨论】:
-
这个查询在普通 SQL 中的行为与在 PL/SQL 块中的行为相同,所以我不确定 PL/SQL 与这个问题有什么关系。