plsql 陣列的用法

ittangzeng發表於2014-06-13
1、先定義兩個Object
CREATE OR REPLACE TYPE TY_ROLEGROUPFUNCTION      AS OBJECT
(
    col1 char(10) ,
    col2 char(24) 
);

CREATE OR REPLACE TYPE TYT_ROLEGROUPFUNCTIONS   as table of ty_rolegroupfunction;

2、然後編寫測試程式
DECLARE
  -- Local variables here
  l_ty_rolegroupfunction ty_rolegroupfunction := NEW ty_rolegroupfunction(8, 8);

  l_tyt_rolegroupfunctions tyt_rolegroupfunctions := NEW
                                                     tyt_rolegroupfunctions(ty_rolegroupfunction(1
                                                                                                ,2)
                                                                           ,ty_rolegroupfunction(2
                                                                                                ,3)); --定義的時候給陣列賦值
BEGIN
  l_tyt_rolegroupfunctions.extend(); --程式中動態複製
  l_tyt_rolegroupfunctions(l_tyt_rolegroupfunctions.count) := l_ty_rolegroupfunction;


  FOR inx IN (SELECT * FROM TABLE(l_tyt_rolegroupfunctions)) -- 讀取陣列的值
  LOOP
    dbms_output.put_line(inx.rolegroupid);
  END LOOP;
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line(DBMS_UTILITY.FORMAT_Error_BACKTRACE || SQLERRM);
END;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29497382/viewspace-1182180/,如需轉載,請註明出處,否則將追究法律責任。

相關文章