[mysql] zmienne deklarowane

0

witam

czy ktoś wie, jaka jest różnica między tymi zapisami:

I.

declare zmienna1, zmienna2 INT;

select kol1, kol2
into zmienna1, zmienna2
from tabela
limit 1;

II.

select kol1, kol2
into @zmienna1, @zmienna2
from tabela
limit 1;

0

Zmienne z małpą to zmienne sesyjne, bez małpy to zmienne proceduralne. Zmienna proceduralna jest zmienną lokalną w ramach procedury lub funkcji (stored routine). Zmienna sesyjna jest zmienną lokalną w ramach całej sesji.

0

zakładając, że 1000 użytkowników w tym samym czasie wywołuje tą procedurę, to co lepsze? deklarowane zmienne czy sesyjne??

0

To zależy co chcesz osiągnąć. Poza tym zmienne sesyjne można używać podobnie jak zmienne proceduralne wystarczy je tylko zerować przy każdym wywołaniu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1