如何在存储过程中定义array/collection?

How to define array/collection in stored procedure?

我有一个固定的字符串数组,我想对其进行操作。我应该如何在存储过程中声明它们?有可能吗?

CREATE OR REPLACE PROCEDURE testing AS

BEGIN

operations...
END; 

我们可以像 DECLARE @v1 varchar(15) 那样声明吗?或类似的字符串集合?(PS“@”在 Oracle SQL 开发人员上抛出错误)

SQL 的新手,如果可能的话希望得到示例代码,谢谢。

你可以使用这个:

declare
   type array_t is varray(3) of varchar2(2);
   array array_t := array_t('aa', 'bb', 'cc');
begin
   for i in 1..array.count loop
       dbms_output.put_line(array(i));
   end loop;
end;