如何在Oracle中创建一个接受参数数组的存储过程 [英] how to create a stored procedure in oracle which accepts array of parameters

查看:890
本文介绍了如何在Oracle中创建一个接受参数数组的存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何一个可以,如果可能告诉我在Oracle中创建一个存储过程,它接受数组作为输入参数,怎么样?

Can any one tell me if its possible to create a stored procedure in oracle which accept array as an input parameter and how ?

推荐答案

是的。甲骨文称他们收藏并有各种可以使用的集合。

Yes. Oracle calls them collections and there's a variety of collections you can use.

使用VARRAY一个简单的数组的例子。

A simple array example using a VARRAY.


DECLARE
  TYPE Str_Array IS VARRAY(4) OF VARCHAR2(50);
  v_array  Str_Array;

  PROCEDURE PROCESS_ARRAY(v_str_array  Str_Array)
  AS
  BEGIN
    FOR i IN v_str_array.first .. v_str_array.last LOOP
      DBMS_OUTPUT.PUT_LINE('Hello '||v_str_array(i));
    END LOOP;
  END;

BEGIN

  v_array := Str_Array('John','Paul','Ringo','George');

  PROCESS_ARRAY(v_array);

  -- can also pass unbound Str_Array
  PROCESS_ARRAY(Str_Array('John','Paul','Ringo','George'));

END;

这篇关于如何在Oracle中创建一个接受参数数组的存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆