Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Przekazywanie zdefiniowanej przez użytkownika listy z hibernacji do procedury składowanej Oracle

  1. Utwórz typ OBJECT, powiedzmy, że MyType is OBJECT .... w Oracle, który ma wszystkie potrzebne pola
  2. Utwórz typ kolekcji , TableOfMyObject IS TABLE OF MyObjectType
  3. Utwórz procedurę, która pobiera TableOfMyObject jako parametr.

Możesz użyć zmiennej kolekcji w instrukcjach SQL w procedurze składowanej, takiej jak SELECT * FROM TABLE(collection_variable)

Zrobiłem to samo, ale największym wyzwaniem było wywołanie go z aplikacji za pomocą hibernacji - W końcu znalazłem na to sposób.

Aktualizacja SQL, który można uruchomić 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuwanie zduplikowanych wierszy z tabeli w Oracle

  2. Błąd podczas próby pobrania tekstu dla błędu ORA-01804

  3. Zapytanie w Oracle o uruchomienie sum

  4. Wartości oddzielone przecinkami do funkcji IN w Oracle

  5. Jak dołączyć i wyodrębnić w SQL