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

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

编辑:
Oracle:9i

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

或无限数组的TABLE:

...
   type array_t is table of varchar2(10);
...

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

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

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

第一个索引是1不是0。

原文链接:https://www.f2er.com/oracle/208720.html

猜你在找的Oracle相关文章