【发布时间】:2011-09-14 09:18:05
【问题描述】:
我是一名 Java 开发人员,对 Oracle PL/SQL 了解有限。请告诉我如何在以下示例中将数组传递给 PL/SQL 函数以及如何调用它。
CREATE OR REPLACE FUNCTION get_employees (pUserId NUMBER)
RETURN VARCHAR2
IS
l_text VARCHAR2(32767) := NULL;
BEGIN
FOR cur_rec IN (SELECT grp.NAME GROUP_NAME FROM UserGroupRole ugr, Group_ grp WHERE ugr.groupid=grp.groupid and USERID = pUserId) LOOP
l_text := l_text || ',' || cur_rec.GROUP_NAME;
END LOOP;
RETURN LTRIM(l_text, ',');
END;
/
SELECT get_employees(414091) FROM DUAL;
【问题讨论】:
-
在您给出的示例中,您传入一个 id 并返回一个逗号分隔的字符串。你想做什么?
-
我们无法将数组从 Java 传递给 PL/SQL 函数。
-
我想传递一个id数组,而不是传递id,返回类型也应该是字符串数组。
标签: arrays oracle function plsql