【发布时间】:2016-02-23 18:25:01
【问题描述】:
我是 PLSQL 初学者,我有一个可能相当简单的问题。
我创建了以下 SQL 函数,它返回公司 ID 与我给它的公司 ID 匹配的进程的创建日期。我已经将它连接到我的 JDBC,它返回的值很好。
但是,我刚刚意识到我忽略了一个重要问题 - 完全有可能不止一个进程的公司 ID 与我输入的 ID 值相匹配,在这种情况下,我需要能够访问 ID 返回匹配的所有已创建日期值。
CREATE OR REPLACE FUNCTION FUNCTION_1(
c_id IN INT)
RETURN INT
AS
p_date process.date_created%TYPE;
BEGIN
SELECT process.date_created
FROM PROCESS
WHERE process.corporate_id = c_id
ORDER BY process.corporate_id;
RETURN p_id;
END FUNCTION_1;
/
有没有一种方法可以修改我的函数以从同一列返回多行,然后调用该函数以使用 JDBC 返回某种数组?或者,如果这不可能,有没有一种方法可以使用 PLSQL 过程或仅结合 JDBC 的普通 SQL 返回我需要的内容?我在这里查看了其他问题,但似乎没有一个是我需要知道的。
感谢任何可以提供帮助的人!
【问题讨论】:
-
您正在返回标量类型。您需要返回一个集合/引用光标
标签: java oracle jdbc plsql oracle12c