MySQL cursore Tutorial

September 19

MySQL cursore Tutorial


L'unica funzione di un cursore MySQL è quello di ottenere e record del database mostra attraverso parametri di query. Anche se questa definizione può sembrare semplice, la verità è che, poiché i cursori operano in modo diverso e restituiscono risultati diversi da dichiarazioni tipiche SELECT, sapere come e quando utilizzare i cursori MySQL a volte può essere fonte di confusione. In generale, i cursori MySQL sono una scelta appropriata per l'elaborazione di righe di dati che contengono più tabelle o per quando si desidera recuperare e righe specifiche di processo all'interno di un gruppo. Un breve tutorial in grado di fornire informazioni di base su come eseguire questa operazione.

istruzione

1 Creare un cursore MySQL nella sezione Dichiarazione della query. Dategli un nome univoco - importante perché MySQL consente di includere più cursori in una procedura unica, funzione o di innesco - e associarlo a un SELECT o SELECT / WHERE. Un cursore che otterrà e visualizzare un gruppo selezionato di nomi dei dipendenti in una colonna e un numero di identificazione a tre cifre in un altro viene visualizzato come:

DICHIARARE name_cursor CURSORE
PER
SELEZIONE emp_name, emp_id da EMP DOVE emp_id tra 100 e 500;

2 Sandwich dichiarazione del cursore dopo le dichiarazioni procedura di variabili e condizioni, e prima che le dichiarazioni di gestore opzionali, se si include questi nella query:

DICHIARARE emp_name VARCHAR (30);
DICHIARARE emp_id VARCHAR (4);

DICHIARARE name_cursor CURSORE
PER
SELEZIONE emp_name, emp_id da EMP DOVE emp_id tra 100 e 500;

DICHIARARE CONTINUA gestore per NON TROVATO

SET no_more_rows = TRUE;

3 Creare una nuova tabella per memorizzare e visualizzare le informazioni:

CREATE TABLE SE NON ESISTE emp_info
(Emp_name VARCHAR, emp_id VARCHAR);

4 Aprire il cursore. Apertura esegue automaticamente la query in base alla istruzione SELECT si è scelto, conta il numero di righe la query restituisce e memorizza il risultato in memoria per ulteriori elaborazioni:

name_cursor APERTA;

5 Fetch ed elaborare i record del database. Questa fase è dove il vero lavoro del cursore avviene come i pulsanti torneranno dall'ultimo al primo record e itera database o loop di nuovo, riga per riga, per estrarre le informazioni necessarie e inserirla nella tabella emp_info:

FETCH name_cursor IN emp_name, emp_id;
INSERT INTO emp_id (emp_name, emp_id);

(Riferimento 3)

6 Chiudere il cursore per liberare memoria interna il cursore sta usando:

name_cursor CLOSE;

7 Visualizzare i risultati della vostra nuova stored procedure:

SELECT * FROM emp_info;

Consigli e avvertenze

  • Perché i cursori possono causare una procedura per eseguire lentamente, e in caso di un problema, il debug più difficile, consigli best-practice consiglia di utilizzare le istruzioni SQL ogni volta che potete, anche se il risultato è più lungo e il codice di MySQL più complesso.