September 19
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.
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;