Oracle PL/SQL – 如何创建一个简单的数组变量?

前端之家收集整理的这篇文章主要介绍了Oracle PL/SQL – 如何创建一个简单的数组变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个内存数组变量,可以在我的PL / sql代码中使用。我在Oracle PL / sql中找不到使用纯内存的任何集合,它们似乎都与表相关联。我想在我的PL / sql(C#语法)中做这样的事情:
  1. string[] arrayvalues = new string[3] {"Matt","Joanne","Robert"};

编辑:
Oracle:9i

对于固定大小的数组,可以使用VARRAY:
  1. declare
  2. type array_t is varray(3) of varchar2(10);
  3. array array_t := array_t('Matt','Joanne','Robert');
  4. begin
  5. for i in 1..array.count loop
  6. dbms_output.put_line(array(i));
  7. end loop;
  8. end;

或无限数组的TABLE:

  1. ...
  2. type array_t is table of varchar2(10);
  3. ...

这里的“表”这个词与数据库表无关,令人困惑。两种方法都创建内存数组。

有了这两个,你需要在添加元素之前初始化和扩展集合:

  1. declare
  2. type array_t is varray(3) of varchar2(10);
  3. array array_t := array_t(); -- Initialise it
  4. begin
  5. for i in 1..3 loop
  6. array.extend(); -- Extend it
  7. array(i) := 'x';
  8. end loop;
  9. end;

第一个索引是1不是0。

猜你在找的Oracle相关文章