Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> Re: How to initialize an array in PL/SQL?

Re: How to initialize an array in PL/SQL?

From: Boris <boris.oblak_at_k2.net>
Date: 2000/06/26
Message-ID: <8j7rag$d5a$1@fuji.k2.net>#1/1

Try:
CREATE OR REPLACE PROCEDURE test_init_array AS

   TYPE t_abc_record IS RECORD

     (field_1   NUMBER,
      field_2   NUMBER);

   TYPE t_table IS TABLE OF t_abc_record    INDEX BY BINARY_INTEGER;

   v_abc_rec   t_abc_record;
   v_abc_table t_table;
   v_abc_table_null t_table;

BEGIN

   --
   -- case 1, define empty table
   --

   v_abc_table(1).field_1 := 1;
   v_abc_table(1).field_2 := 2;

   v_abc_table := v_abc_table_null;

   --
   -- case 2 (delete table)
   --

   v_abc_table(1).field_1 := 1;
   v_abc_table(1).field_2 := 2;

   v_abc_table.DELETE;

END; <suisum_at_ecn.ab.ca> je v sporoèilu novic 39567ddc_at_ecn.ab.ca napisal ...
> If I create a RECORD TYPE, then create a TABLE TYPE based on the RECORD
> TYPE, I have not problem to put the data in. But I have problem to
> re-initalize the TABLE TYPE.
>
>
> DECLARE
>
> TYPE t_abc_record IS RECORD
> (field_1 NUMBER,
> filed 2 NUMBER);
>
> TYPE t_table IS TABLE OF t_abc%ROWTYPE
> INDEX BY BINARY_INTEGER;
>
> v_abc_rec t_abc_record;
> v_abc_table t_table;
>
> BEGIN
>
> v_abc_table.field_1 := 1;
> v_abc_table.field_2 := 2;
>
> v_abc_table := NULL; (program crash)
>
> END;
>
> --
> Best regards,
Received on Mon Jun 26 2000 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US