Che cosa è un cursore di riferimento in Oracle?

June 27

Che cosa è un cursore di riferimento in Oracle?


Riferimento (REF) cursori sono i tipi di dati PL / SQL che utilizzano set di record come parametro e restituire il set di record dopo la manipolazione da parte di procedure o funzioni / SQL stored PL. A causa della sua capacità di essere riutilizzato in altre routine, cursori di riferimento offrono un alto grado di scalabilità e flessibilità, a differenza di cursori regolari che sono di portata limitata dei blocchi di programma in cui sono dichiarate.

Definizione

Un cursore REF è un tipo di dati / SQL PL che viene utilizzato come parametro in procedure e funzioni / memorizzate SQL PL. I programmatori utilizzano i cursori REF per recuperare e manipolare i record nel database, di solito attraverso un'istruzione SELECT con campi e le variabili che corrispondono a quelli trovati nel cursore. cursori REF utilizzano la memoria del server per restituire i risultati di sola lettura in una query.

vantaggi

cursori REF siedono in un pool di memoria condivisa e sono accessibili a / SQL stored procedure PL nel database. Questa modularità consente ad altri programmi di accesso alla variabile cursore senza dover dichiarare un nuovo array di dati o variabile cursore e quindi rallentando i processi di dati. Perché si trova in una memoria condivisa, tempi di lavorazione diminuiscono anche come risultato.

Tipi REF cursore

Esistono due tipi di cursori REF. Il primo, chiamato un cursore REF forte, specifica i valori ei tipi di colonne restituite in un set di record. Questo può essere utile per i programmatori che hanno bisogno di controllo sui dati in uscita. Il secondo, chiamato un cursore REF debole, specifica nessun tipo di ritorno. cursori REF deboli utilizzare il carattere jolly "*" per raccogliere tutti i campi all'interno di un set di record. cursori deboli sono intercambiabili e possono essere associati con i risultati di una query senza considerevole manipolazione.

Passi nella definizione di una REF cursore

Un cursore REF richiede tre elementi nella sua dichiarazione. In primo luogo, è necessario creare il pacchetto di programmi PL / SQL. In secondo luogo, il cursore REF deve essere chiamato o definito nel blocco PL / SQL. Infine, i programmatori di creare query all'interno del pacchetto di programmi per accedere ai componenti codificati dal cursore REF e restituire un set di dati valido.

Sintassi utilizzato per dichiarare e utilizzare un cursore REF

I programmatori devono definire il cursore REF sotto DECLARE, come nell'esempio seguente:

DICHIARARE

TYPE EmpCurTyp is REF CURSOR RETURN employee%rowtype;

Una volta che il programmatore dichiara il cursore, è aperto per l'utilizzo in qualsiasi blocco PL / SQL. I programmatori possono verificare la fattibilità di nuove dichiarazioni passando il cursore come parametro in un blocco PL / SQL che fa riferimento al tipo di parametro REF CURSOR. Nel codice, i programmatori possono usare "OPEN-PER," "fetch" e "CHIUSO" all'interno del corpo del pacchetto per eseguire manipolazioni di dati, come nell'esempio seguente:

PROCEDURA process_pay;

process statements using OPEN-FOR, FETCH and close;

FINE;