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

Předání uživatelem definovaného seznamu z režimu spánku do uložené procedury Oracle

  1. Vytvořte typ OBJECT , řekněte MyType is OBJECT .... v Oracle, který má všechna pole, která potřebujete
  2. Vytvořte typ kolekce, TableOfMyObject IS TABLE OF MyObjectType
  3. Vytvořte proceduru, která vezme TableOfMyObject jako parametr.

Proměnnou kolekce můžete použít v příkazech SQL ve vaší uložené proceduře jakoSELECT * FROM TABLE(collection_variable)

Udělal jsem totéž, ale největší výzvou bylo zavolat to z aplikace pomocí hibernace - Konečně jsem našel způsob, jak to udělat.

Aktualizovat SQL, který lze spustit z 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. Potřebuji pomoc s převodem dotazu T-SQL na dotaz podporovaný Oracle

  2. Zabránění vkládání SQL v ASP.Net

  3. Sloupec Laravel OrderByRaw nebyl nalezen

  4. Nechvalně známá výjimka java.sql.SQL:Nebyl nalezen žádný vhodný ovladač