sql >> Databasteknik >  >> RDS >> Oracle

Skickar användardefinierad lista från viloläge till oracles lagrad procedur

  1. Skapa OBJECT-typ , säg MyType is OBJECT .... i Oracle som har alla fält du behöver
  2. Skapa samlingstyp , TableOfMyObject IS TABLE OF MyObjectType
  3. Skapa en procedur som tar TableOfMyObject som parameter.

Du kan använda samlingsvariabel i SQL-satser i din lagrade procedur somSELECT * FROM TABLE(collection_variable)

Jag gjorde detsamma, men den största utmaningen var att anropa det från appen med viloläge - Jag hittade äntligen sättet att göra det.

Uppdatera SQL som kan köras från Toad.

set serveroutput on; -- for debugging, 
-- it makes sense if your procedure outputs anything
declare my_list TableOfMyObject  := TableOfMyObject ();
begin 
  my_list.extend;
  my_list(1) := MyType([MyType constructor parameters]);

  my_list.extend;
  my_list(2) := MyType([MyType constructor parameters]);
  your_procedure(my_list);
end;



  1. Formateringsdatum för Postgresql

  2. Hur sorterar sql-server dina data?

  3. Mysql Query Relations M-M-tabell

  4. referera till en sammansatt nyckel i Oracle