Variabile personalizate în mysql

MySQL suportă variabile cu nume ca @ variable_name. Numele variabilei poate consta din caracterele alfanumerice ale setului curent și, de asemenea, de _, $ și.







Variabilele nu ar trebui inițializate. Ele conțin în mod implicit NULL și pot stoca o valoare întregă, reală sau șir. Toate variabilele pentru sesiunea curentă vor fi eliberate când sesiunea de server va fi terminată. Toate variabilele se referă numai la sesiunea curentă. În alte sesiuni pot fi utilizate variabile cu aceleași nume, dar ele vor fi ele însele.







Puteți seta variabila prin apelul SET:

Și, de asemenea, setați variabila în expresia @variable: = expr, de exemplu:

Aici trebuie să utilizați sintaxa. = deoarece simbolul = este deja rezervat pentru comparații.

Variabilele utilizator pot fi utilizate în cazul în care expresiile sunt permise. Rețineți că acestea nu sunt utilizate în prezent în contexte unde un număr este explicit necesar, de exemplu în clauza LIMIT a apelului SELECT.

În instrucțiunea SELECT, fiecare expresie este evaluată numai atunci când este trimisă utilizatorului. Aceasta înseamnă că în GRUP BY sau ORDER BY nu puteți accesa o expresie care include variabilele setate în SELECT. De exemplu, următoarea instrucțiune NU va funcționa conform așteptărilor:

SELECT (@aa: = id) AS a, (@aa + 3) AS b FROM nume_tabel HAVING b = 5;

Cauză: @aa nu va conține valoarea liniei curente, ci valoarea id a șirului primit anterior.







Articole similare

Trimiteți-le prietenilor: