SQL dinamic în Oracle este ușor și de înțeles (partea a treia este în vrac, operațiunile cu seturi)

Folosirea seturilor la lucrul cu SQL dinamic

Lucrul cu tipurile de date complexe Agregatele și colecțiile BULK îmbunătățesc performanța prin minimizarea numărului de comutatoare de context dintre PL / SQL și SQL. Adică, colecțiile întregi, și nu doar elementele individuale, sunt transmise înainte și înapoi.







Cu următoarele comenzi și atribute cursor, puteți construi SQL dinamic într-un mod care efectuată în mod corespunzător lucrul cu tablouri și colecții.

Sintaxă pentru legarea dinamică folosind instrucțiunea BULK

Instrucțiunea BULK permite Oracle să execute o variabilă în SQL. asa. pentru a procesa seturi de valori. Tipul setului poate fi orice valabil în PL / SQL (tabele index, tabele imbricate și tablouri cu mărime variabilă). Cu toate acestea, elementele trebuie să aibă un tip strict de date SQL, CHAR. DATE sau NUMBER. Colecțiile dinamice pot fi utilizate în comenzi: EXECUTE IMMEDIATE. FETCH și FORALL.







EXECUTĂ IMEDIAT și BULK

Acești operatori vă permit să legați variabilele specificate sau argumentele OUT și să le transmiteți ca parametri în instrucțiunea dinamică SQL. Sintaxa este după cum urmează:

Datorită instrucțiunii BULK, puteți returna datele colecțiilor din SQL dinamic.

BULK și FETCH
BULK vă permite să selectați date din cursorul dinamic în același mod ca și selectarea dintr-un cursor static. Sintaxa este după cum urmează:


Dacă numărul de variabile definite în COLORECT IN BUL. depășește numărul de coloane din interogare, Oracle emite o eroare.

Această sintaxă vă permite să legați variabilele de intrare de SQL dinamic. În plus, puteți utiliza EXECUTE

Un șir dinamic poate fi INSERT. UPDATE sau DELETE (dar nu SELECT).
Exemple de SQL dinamic folosind BULK

Următorul exemplu demonstrează utilizarea VULNERULUI la ieșirea datelor pentru a deschide matricele folosind FETCH

Utilizarea actualizării în masă a înregistrărilor împreună cu rezultatul returnat este plasată în colecția enames.

Exemplul arată cum se utilizează FORALL și UTILIZARE.







Trimiteți-le prietenilor: