加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

如何从TOAD for Oracle执行函数并将结果绑定到数据网格

发布时间:2021-03-15 07:31:49 所属栏目:站长百科 来源:网络整理
导读:我有一个函数,它的一个参数是pl / sql对象的VARRAY.如何执行此存储过程并将其返回的结果集绑定到TOAD for Oracle中的数据网格? 解决方法 经过一番搜索后,我找到了自己问题的答案.假设您的varray类型名为varchar_pair_array,并且存储在此数组中的对象称为var

我有一个函数,它的一个参数是pl / sql对象的VARRAY.如何执行此存储过程并将其返回的结果集绑定到TOAD for Oracle中的数据网格?

解决方法

经过一番搜索后,我找到了自己问题的答案.假设您的varray类型名为varchar_pair_array,并且存储在此数组中的对象称为varchar_pair_object. varchar_pair_object是一个简单的对象,它有两个varchars作为它的成员.

以下是执行proc的代码,该代码接收varchar_pair_object(s)的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;

复制粘贴此代码在TOAD的sql编辑器中并更改它以适应您的功能和类型,然后点击F9. TOAD会询问你:to_grid变量的类型.选择光标(假设您的函数返回引用光标)并按Enter键. 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(在这种情况下特别有用的是关于声明和初始化对象的部分)

只需很少的更改,就可以通过一个程序完成同样的操作.

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读