Home Chi sono Mappa del sito Contatti  
 
Java
Apache Wicket
Sistemistica Totocalcio
 
 
Programmare Applicativi...
Presentazione del libro
Panoramica dei contenuti
 
 
Giochi in PHP
Introduzione
Filetto (Tris)
Forza 4
Sudoku
 
 
Tutorial Linux/Unix
Archivio
 
 
Sql
Tutorial su Mysql
 
 
C++
Framework a oggetti
 
Tutorial su Mysql->View, Function e Stored procedure

View, Function e Stored procedure

Per miglirare la velocità, i gestori di database mettono a disposizione strumenti quali viste, funzioni e procedure.
Prima di iniziare con gli esempi, è importate spiegare cosa sono i delimitatori.
Il delimitatore di default è il punto e virgola, che indica la termiazione di una query. Per definire una Stored Procedure (ad esempio da linea di comando) è necessario introdurre un nuovo delimitatore per terminare il blocco di istruzioni.
In pratica occorre utilizzare l'istruzione DELIMITER prima di inserire il codice delle stored procedure in modo da comunicare a MySQL che il delimitatore utilizzato alla fine dell'istruzione non sarà più il punto e virgola. Alla fine delle definizioni di procedure e funzioni è possibile reintrodurre il delimitatore ; mediante l'istruzione DELIMITER. In questo modo permettiamo il successivo utilizzo dei normali comandi SQL.
Le tabelle prese in esame sono sempre le stesse viste nei precedenti articoli.

Viste

Le viste sono delle QUERY memorizzate, e possono essere considerate simili a tabelle virtuali.
Vediamo un esempio
Di seguito una query che utilizza vista totali_cliente

Funzioni

1) Vediamo il primo semplice esempio
In questo esempio abbiamo creato una funzione chiamata esempio_fun1 che ritorna un intero. Per mandarlo in esecuzione, eseguite questo comando
SELECT esempio_fun1();

2) Passaggio di parametri
In questo esempio abbiamo creato una funzione chiamata esempio_fun2 che prende in ingresso due interi e ritorna un intero. Di seguito un esempio su come mandarlo in esecuzione
SELECT esempio_fun2(45, 78);

3) Uso di SET e DECLARE
In questo esempio abbiamo dichiarato la variabile p3 e gli abbiamo assegnato il valore della somma dei due parametri.

4) Cursori
Mediante il cursore possiamo scorrere i record di una query. Nell'esempio viene calcolata la somma delle lunghezze delle stringhe contenute nel campo ragione.


Procedure

1) Vediamo il primo semplice esempio
In questo esempio abbiamo creato una procedura chiamata esempio_proc1 che non fa nulla. Vediamolo in esecuzione
CALL esempio_proc2();


2) Parametri (IN OUT INOUT).
IN è la modalità di default. IN indica che un parametro può essere passato nella procedura ma la procedura non puo modificarne il valore.
OUT questa modalità indica che la procedura può cambiare questo parametro e passarlo indietro alla procedura chiamante.
INOUT questa modalità è la combinazione tra le modalità IN e OUT; puoi passare questo parametro alla procedura e ricevere da esso il nuovo valore.
Vediamo un esempio
Il risultato è la visualizzazione del valore del parametro b prima e dopo la chiamata della procedura esempio_proc2().


3) Un esempio di possibile applicazione: evasione di un rigo d'ordine




Riepilogo