我有一个函数,它作为它的参数PL / SQL对象的VARRAY之一。如何执行此存储过程和绑定,它返回到在TOAD数据网格为Oracle?

的结果集
有帮助吗?

解决方案

一些周围搜索后,我找到了答案,以我自己的问题。说你的变长数组类型被称为varchar_pair_array后存储在该数组中的对象被称为varchar_pair_object。 varchar_pair_object是具有两个简单对象VARCHAR处理,因为它的成员。

下面是用于执行一个进程,取入的varchar_pair_object(多个)VARRAY的代码:

DECLARE 
  RetVal SYS_REFCURSOR;
  a_simplevalue VARCHAR2(200);
  another_simplevalue VARCHAR2(200);
  my_array_of_varchar_pairs VARCHAR_PAIR_ARRAY; -- assume varchar_pair_array is defined somewhere else
  my_obj VARCHAR_PAIR_OBJECT; -- assume varchar_pair_object is defined somewhere else
  my_other_obj VARCHAR_PAIR_OBJECT;
BEGIN 
  a_simplevalue := 'hello';
  another_simplevalue := 'there';
  my_obj := VARCHAR_PAIR_OBJECT('nice to meet you', 'greetings');
  my_other_obj := VARCHAR_PAIR_OBJECT('goodbye', 'ciao');
  my_array_of_varchar_pairs := VARCHAR_PAIR_ARRAY(); 
  my_array_of_varchar_pairs.EXTEND(2); -- this should be the number of objects you plan to put into the array
  my_array_of_varchar_pairs(1) := my_obj;
  my_array_of_varchar_pairs(2) := my_other_obj; 

  RetVal := my_function ( a_simplevalue, another_simplevalue, my_array_of_varchar_pairs); -- assuming your array takes two varchars and one array of VARCHAR_PAIR_OBJECT (s)
  :to_grid := RetVal;

END;

复制粘贴在蟾蜍的SQL编辑器的代码,并改变它来适应你的功能和类型,并按下F9键。蟾蜍会问你的类型:to_grid变量。选择光标(假设你的函数返回Ref Cursor),然后回车。 TOAD将结果集数据网格绑定。

链接,帮助我:

HTTP://www.smart- soft.co.uk/Oracle/oracle-plsql-tutorial-part-11.htm (上集合好的教程) http://download.oracle.com/docs /cd/B10501_01/appdev.920/a96624/10_objs.htm#1972 (在这种情况下特别有用的是部分上声明和初始化对象)

使用非常小的变化,同样可以用程序进行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top