Corsi on-line

Variabili globali in MySQL

Raramente si è abituati a fare riferimento alle variabili quando si parla di un linguaggio dichiarativo come SQL; queste però possono risultare veramente utili in alcuni casi, come per esempio semplici operazioni per la numerazione progressiva dei record.

In un database ben strutturato, generalmente si fa largo uso di identificatori univoci autoincrementali per i record, ma i record stessi subiscono spesso delle cancellazioni, fattore che rende gli Id non sequenziali, in questo caso possono essere utili le variabili globali.Immaginiamo di dover eseguire un’istruzione del genere:

SELECT id,nome,cognome FROM agenda;

Molto probabilmente gli Id mostrati non saranno sequenziali, potremo quindi inizializzare una variabile globale (di default essa ha valore NULL):

set @N = 0;

A questo punto basterà incrementare unitariamente la variabile per ogni estrazione in modo da ottenere per i record una numerazione progressiva da “1” a “n”:

SELECT @N := @N +1 AS contarecord, nome,cognome FROM agenda;

Una varibiali globale esiste per tutta la durata di una connessione e solo fino a quando essa è attiva.

Post correlati
I più letti del mese
Tematiche