sql >> Databáze >  >> RDS >> Oracle

jak vytvořit uloženou proceduru v oracle, která přijímá pole parametrů

Ano. Oracle jim říká kolekce a existuje celá řada kolekcí, které můžete použít.

Jednoduchý příklad pole pomocí 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;



  1. Nejlepší způsob, jak nainstalovat hstore na více schémat v databázi Postgres?

  2. Jaká je skutečná hodnota zavedení Microsoft Access do vaší organizace?

  3. Bezpečnostní úvahy pro nasazení MariaDB v prostředí hybridního cloudu

  4. Jak odstranit velká data tabulky v SQL bez protokolu?