栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从java中的plsql函数获取返回的记录类型

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从java中的plsql函数获取返回的记录类型

首先让我们从更正您的代码开始。我可以看到您发布的代码无法编译,并且会引发问题。正确的代码如下:

CREATE OR REPLACe PACKAGE xx_bal_apiAS   TYPE challan_rec IS RECORD   (      challan_number   VARCHAR2 (40),      challan_amount   NUMBER   );   TYPE rec IS TABLE OF challan_rec index by pls_integer;   FUNCTION get_challan (foo NUMBER)      RETURN rec;END;/CREATE OR REPLACE PACKAGE BODY xx_bal_apiAS   FUNCTION get_challan (foo NUMBER)      RETURN rec   IS      cr   rec;   BEGIN      cr (1).challan_number := '00002154215';      cr (1).challan_amount := foo;      RETURN cr;   END get_challan;END;

执行此代码时,您可能会遇到类似的问题

invalid datatype
。这是因为a
RECORD
仅限在中使用
PLSQL

select xx_bal_api.get_challan(2265) from dual;

ORA-00902:无效的数据类型

最好的方法是先创建一个对象的a

OBJECT
和a
TYPE
,然后
return
在您的函数中创建它:

CREATE OR REPLACe TYPE challan_rec IS OBJECT(   challan_number VARCHAR2 (40),   challan_amount NUMBER);/    CREATE OR REPLACE Type rec is table of challan_rec;/  CREATE OR REPLACE FUNCTION get_challan(foo number)     return rec  is      cr rec:=rec();   begin        cr.extend();        cr(1):= challan_rec('00002154215',foo);     return cr;   end get_challan;   end;/

执行:

SQL> select get_challan(2265) from dual;     /


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410509.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号