gpt4 book ai didi

oracle - 去掉 PL/SQL 函数末尾的逗号 [Oracle PL/SQL]

转载 作者:行者123 更新时间:2023-12-05 09:36:57 30 4
gpt4 key购买 nike

我正在处理一个存储的 PL/SQL 函数,该函数根据给定的员工编号查找员工的家属姓名。到目前为止,我能够获得所需的输出,但在输出期间似乎有逗号问题。对于如何在输出过程中删​​除最后一个括号,我们将不胜感激。

[当前代码]

SQL> create or replace function FINDDEPENDENTS(empid in Employee.E#%TYPE)
2 RETURN VARCHAR IS
3 EID Employee.E#%TYPE;
4 Ename Employee.Name%TYPE;
5
6 DEPNAME Dependent.DName%TYPE;
7 finalRow VARCHAR(2000);
8 CURSOR q IS
9 --
10 select DName from Dependent WHERE E#=empid;
11 begin
12 select E#, Name INTO EID, Ename FROM Employee WHERE E#= empid;
13 finalRow:= EID || ' ' || Ename || ': ';
14 open q;
15 loop
16 fetch q into depname;
17 if q%notfound then exit;
18 end if;
19 finalRow:= finalRow || DEPNAME || ', ';
20 end loop;
21 close q;
22 return(finalRow);
23 end FINDDEPENDENTS;
24 /

Function created.

SQL> show errors
No errors.
SQL> SELECT FINDDEPENDENTS(E#) FROM Employee;

FINDDEPENDENTS(E#)
----------------------------------------------------------------------------------------------------
00100 Albert: Bolt, Edee, Judy,
00101 Peter:
00103 Ami:
00105 Robert:
00107 Wendy:
00109 Michael:
00110 Alvin:
00120 Alice: Blues, Edee, Kadi,
00125 Angela:
00136 Aban:
00150 Bob:
00187 Eadger:
00200 Carl: Eva,
00250 Douglass:

14 rows selected.

我怎样才能去掉最后一个逗号,这样我就可以获得如下输出:

00100 Albert: Bolt, Edee, Judy
00110 Alvin:
00120 Alice: Blures, Edee, Kadi

最佳答案

TRIM 它:

return(rtrim(finalRow, ','));

关于oracle - 去掉 PL/SQL 函数末尾的逗号 [Oracle PL/SQL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64692834/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com