【发布时间】:2014-08-31 15:33:37
【问题描述】:
在我的存储过程中,它需要获取输入并将多行返回给前端应用程序。
但是存储过程会产生错误:
- SQL 语句被忽略
- 没有足够的值
如何解决?
对象类型
CREATE TYPE org_rspnsble_prsns_type
AS OBJECT (
"appId" varchar2,
"orgId" varchar2,
"domainId" varchar2,
"leadName" varchar2,
"personId" number
);
表格类型
CREATE TYPE org_rspnsble_prsns_table
AS TABLE OF org_rspnsble_prsns_type;
存储过程
CREATE OR REPLACE PROCEDURE GetNames( appIdInput IN varchar2, orgIdInput IN varchar2, p_arr OUT org_rspnsble_prsns_table )
AS
BEGIN
SELECT "appId", "orgId", "domainId", "leadName", "personId"
BULK COLLECT INTO p_arr
FROM (
select "appId", "orgId", "domainId", "leadName", "personId"
from tableA
UNION
select "appId", "orgId", "domainId", "leadName", "personId"
from tableB
)
WHERE "appId" = appIdInput
AND "orgId" = orgIdInput;
END;
【问题讨论】:
-
尽量避免来自任何地方的
" "。 -
什么时候出现错误?当您创建过程或调用它时?
-
嗨,Emmanuel,是的,当我创建程序时。谢谢。
标签: sql oracle stored-procedures plsql procedure