Nwlapcug.com


PL/SQL Cursors Tutorial

PL/SQL Cursors Tutorial


PL/SQL è una forma del SQL Structured Query Language () utilizzato in alcuni software di database quali Oracle o generalizzati. PL/SQL ha alcune delle dichiarazioni stesse come T-SQL, che è la lingua per MySQL e SQL Server. I cursori sono oggetti di database utilizzati per eseguire query di un elenco di record. Il cursore Recupera l'elenco di record e consente allo sviluppatore di elaborare ogni record uno per uno. I cursori richiedono una quantità elevata di risorse del database, ma sono utili quando lo sviluppatore deve elaborare ogni record in un blocco del ciclo SQL del codice.

Istruzioni

1

Dichiarare il cursore. L'istruzione di cursore dichiara l'oggetto e lo assegna una query. Il cursore viene assegnato un elenco di record utilizzando il \"select\" query. Il codice seguente crea il cursore:

dichiarare cur cursore è selezionare first_name, customerId da cliente dove last_name = 'smith'
VAI

Il codice precedente crea un cursore denominato \"cur\" e lo carica con tutti i record con ID di nome e cliente per i clienti con il cognome di \"Smith.\"

2

Aprire il cursore e assegnare una variabile a ogni colonna Estratto. Queste variabili vengono assegnate di ogni iterata record nome e ID cliente. Il codice seguente apre il cursore e assegna le variabili:

Aprire cur
VAI
fetch cur in first_name, custId;

3

Elaborare ogni record di cursore. Ora che il cursore viene aperto e relative colonne assegnati alle variabili, è possibile elaborare i record. In questo esempio, il cursore viene utilizzato per modificare la tabella di ordine con ID. del cliente È possibile utilizzare qualsiasi istruzione SQL per elaborare i record una volta che il cursore è aperto. L'istruzione seguente è un esempio di come utilizzare il cursore aperto:

aggiornamento ordine set order_custId = custId dove customer_lastname = 'Smith' and customer_firstname = first_name;

4

Chiudere il cursore. È importante chiudere il cursore dopo aver terminato l'elaborazione del record. Un record aperto trattiene le risorse del database, quindi il cursore di chiusura consente di liberare memoria. Il codice seguente chiude il cursore:

chiudere cur;