用于传递用户定义的类对象的Oracle存储过程

时间:2014-03-07 17:43:13

标签: oracle stored-procedures

我需要将类对象传递给oracle db,而对象又包含其中的项目列表。能告诉我如何创建一个oracle存储过程,我可以同时传递所有项目值。

例如: - 我可以拥有一个类对象" Customer"其中的值是客户详细信息和他购买的物品。所以我有一个对象,在对象中有一个项目列表。通过Oracle存储过程执行这些详细信息的最佳方法是什么。

客户名称,ID --->项目已购买1个详细信息                   - >物品已购买2个细节                    :                     :                  --->物品已购买50个细节

1 个答案:

答案 0 :(得分:2)

根据您的要求,您需要创建Object(在Oracle中键入),您还可以创建该对象的数组并将其用作参数以将值传递到存储过程。

CREATE TYPE customer_type AS OBJECT ( 
   customer_name          VARCHAR2(30),
   item_purchased         VARCHAR2(20),
   .
   .
   )
/

CREATE TYPE customer_arr as TABLE OF customer_type INDEX BY PLS_INTEGER;

在调用程序中创建此对象类型的变量,填充其值并将其传递给要调用的程序。

有关详细信息,请参阅this link