Mysql
 sql >> Database >  >> RDS >> Mysql

Variabili locali MySQL

MySQL ha due diversi tipi di variabili:

  • variabili locali (che non lo sono preceduto da @ ) sono fortemente tipizzati e hanno come ambito il blocco di programma memorizzato in cui sono dichiarati. Tieni presente che, come documentato in DECLARE Sintassi :

  • variabili utente (che sono preceduto da @ ) sono digitati liberamente e hanno come ambito la sessione. Nota che non hanno bisogno né possono essere dichiarati, basta usarli direttamente.

Pertanto, se stai definendo un programma memorizzato e in realtà desideri una "variabile locale", secondo la formulazione nella tua domanda, dovrai eliminare il @ carattere e assicurati che il tuo DECLARE istruzione si trova all'inizio del blocco di programma. Altrimenti, per usare una "variabile utente", rilascia il DECLARE dichiarazione.

Inoltre, dovrai racchiudere la tua query tra parentesi per eseguirla come sottoquery:

SET @countTotal = (SELECT COUNT(*) FROM nGrams);

Oppure puoi usare SELECT ... INTO :

SELECT COUNT(*) INTO @countTotal FROM nGrams;