Variabelen
Last updated
Was this helpful?
Last updated
Was this helpful?
Een variabele dient om data via een naam te kunnen aanspreken. Binnen een stored procedure is het mogelijk om variabelen te declareren die dan binnen deze stored procedure kunnen gebruikt worden.
Een variabele declareer je als volgt.
De verschillende datatypes kan je vinden op:
Dit zijn dezelfde types die je koppelt aan een kolom, bv. INT
, DATE
, VARCHAR(100)
, enz.
Je kan een variabele alleen declareren vlak na een BEGIN
(of na declaratie van een andere variabele). Dat is geen probleem, want je kan hem wel nog van waarde veranderen na andere statements.
Zoals ook het geval bij programmeertalen heeft een variabele een bepaalde "scope", d.w.z. een bereik of levensduur. Als je een variabele binnen een stored procedure declareert, dan zal deze niet meer bruikbaar zijn wanneer het END
statement van deze stored procedure wordt bereikt. Dit stemt overeen met een lokale variabele in een algemene programmeertaal: de variabele bestaat enkel binnen die uitvoering van de body.
Een variabele die met het @-symbool begint is een zgn. sessie-variabele. Deze is beschikbaar zolang de sessie (verbinding met de DB, bijvoorbeeld via Workbench) niet is beëindigd en je hoeft hem niet te declareren. Dit stemt ruwweg overeen met een globale variabele in een algemene programmeertaal. Daarom gebruiken we variabelen zonder @
waar we kunnen en enkel variabelen met @
wanneer lokale scope te begrensd is.
Je kan een variabele een waarde geven op twee manieren:
via SELECT <uitdrukking> FROM <TABEL> INTO <naam variabele>
je mag de INTO
ook voor de FROM
zetten
via SET <variabele> = <waarde>
Hierbij declareren we een (lokale) INT
variabele TotaalLidmaatschap
, die we dan een waarde geven met het uitvoeren van het SQL-statement, waarna de inhoud van deze variabele via de tweede SELECT
wordt geselecteerd. Je hebt de variabele niet nodig voor deze taak, maar het voorbeeld toont de syntax.