sql >> Database teknologi >  >> RDS >> Oracle

Sender brugerdefineret liste fra dvale til oracle-lagret procedure

  1. Opret OBJECT type , sig MyType is OBJECT .... i Oracle, der har alle de felter, du har brug for
  2. Opret samlingstype , TableOfMyObject IS TABLE OF MyObjectType
  3. Opret procedure, der tager TableOfMyObject som parameter.

Du kan bruge samlingsvariabel i SQL-sætninger i din lagrede procedure somSELECT * FROM TABLE(collection_variable)

Jeg gjorde det samme, men den største udfordring var at kalde det fra appen ved hjælp af dvaletilstand - Jeg fandt endelig måden at gøre det på.

Opdater SQL, der kan køres fra 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. Sådan forhindrer du PHP i at tilføje tomme rækker/felter til MYSQL-databasen

  2. Hvordan finder man dubletter i mysql-tabel ved hjælp af PHP?

  3. Brug af `rand()` med `having`

  4. Hvordan kører native SQL-forespørgsler i den samme Hibernate-transaktion?