Oracle
 sql >> база данни >  >> RDS >> Oracle

Преминаване на дефиниран от потребителя списък от хибернация към съхранена процедура на Oracle

  1. Създайте тип OBJECT, кажете MyType is OBJECT .... в Oracle, който има всички полета, от които се нуждаете
  2. Създаване на тип колекция, TableOfMyObject IS TABLE OF MyObjectType
  3. Създайте процедура, която приема TableOfMyObject като параметър.

Можете да използвате променлива за събиране в SQL изрази във вашата съхранена процедура катоSELECT * FROM TABLE(collection_variable)

Направих същото, но най-голямото предизвикателство беше да го извикам от приложението с помощта на хибернация - Най-накрая намерих начин да направя това.

Актуализация SQL, който може да се стартира от 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. cx_Oracle:Как мога да получа всеки ред като речник?

  2. Хибернация @OrderBy с рефериран клас

  3. Намерих неизвестен символ на релационна диаграма в Oracle SQL Developer

  4. Оракул с подзаявка

  5. Кой е най-добрият начин за предварително компилиране на JSP с помощта на Ant