2012-11-19 52 views
0

请问,是否可以访问varray中的单个值?如何访问PLSQL中的数组

喜欢的东西newVariable := myArray(value2) - >这将在数组指定第二个值到新的varible ...

我也需要这样的事:

FOR CYCLE... 
x++ 
newVariable(x) := myArray(value(x)) 
END FOR CYCLE 

这可能吗?

Thx,我是信息技术的学生,我试图解决这个问题。不知道在哪里看...

+9

“*不知道在哪里看*“。关于手册呢? http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm#CHDEIJHD –

回答

4

根据oracle在线文档,varray类型是PL/SQL中用于创建数组类型对象的其他类型集合中的类型(我的意思是数组,其他经典编程语言,如C,Java等)。除了长度可以从0到在其定义中指定的最大大小之外。

下面是一个例子:

DECLARE 
    SUBTYPE country_ty IS VARCHAR2(50); 
    TYPE countries_varr_ty IS VARRAY(10) OF country_ty; 
    l_varr_countries countries_varr_ty := 
     countries_varr_ty 
     (
      'Iran', 'France', 'United Kingdom', 'United States', 'Germany', 
      'Spain', 'Canada', 'Australia', 'South Africa', 'Afganistan' 
     ); 
    l_country country_ty; 
BEGIN 
    FOR counter IN l_varr_countries.FIRST .. l_varr_countries.LAST 
    LOOP 
     l_country := l_varr_countries(counter); 
     DBMS_OUTPUT.PUT_LINE('The current value in the array is: ' 
      || l_country); 
    END LOOP; 
END; 
/

有关可变数组,你可以参考以下链接了解更多信息:

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm#CHDEIJHD

问候,

Dariyoosh