Oracle
 sql >> Base de données >  >> RDS >> Oracle

comment créer une procédure stockée dans oracle qui accepte un tableau de paramètres

Oui. Oracle les appelle des collections et il existe une variété de collections que vous pouvez utiliser.

Un exemple de tableau simple utilisant un VARRAY.


DECLARE
  TYPE Str_Array IS VARRAY(4) OF VARCHAR2(50);
  v_array  Str_Array;

  PROCEDURE PROCESS_ARRAY(v_str_array  Str_Array)
  AS
  BEGIN
    FOR i IN v_str_array.first .. v_str_array.last LOOP
      DBMS_OUTPUT.PUT_LINE('Hello '||v_str_array(i));
    END LOOP;
  END;

BEGIN

  v_array := Str_Array('John','Paul','Ringo','George');

  PROCESS_ARRAY(v_array);

  -- can also pass unbound Str_Array
  PROCESS_ARRAY(Str_Array('John','Paul','Ringo','George'));

END;