![]() |
| Home | Chi sono | Mappa del sito | Contatti |
|
Tutorial su Mysql->View, Function e Stored procedure
View, Function e Stored procedurePer 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. VisteLe 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 Funzioni1) 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 comandoSELECT 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. Procedure1) Vediamo il primo semplice esempio In questo esempio abbiamo creato una procedura chiamata esempio_proc1 che non fa nulla. Vediamolo in esecuzioneCALL 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
|