Katakan jika kita mengisytiharkan pembolehubah di dalam blok BEGIN/END maka skop pembolehubah itu akan berada dalam blok tertentu ini. Kami juga boleh mengisytiharkan pembolehubah dengan nama yang sama di dalam blok BEGIN/END yang lain, yang sah sepenuhnya, tetapi skopnya akan berada dalam blok BEGIN/ENDnya. Ini boleh difahami dengan bantuan contoh berikut, di mana kita mencipta prosedur untuk memaparkan skop pembolehubah -
mysql> Create Procedure Scope_variables() -> BEGIN -> DECLARE A Varchar(5) Default 'outer'; -> BEGIN -> DECLARE A Varchar(5) Default 'inner'; -> SELECT A; -> END; -> SELECT A; -> END; -> // Query OK, 0 rows affected (0.08 sec)
Dalam prosedur di atas, kita mempunyai dua pembolehubah dengan nama yang sama, iaitu A. Di sini, selagi pembolehubah dalaman diisytiharkan dalam skop, ia diutamakan. Perkara utama ialah apabila TAMAT pertama dicapai, pembolehubah dalaman hilang dan dikatakan "di luar skop". Untuk memahami konsep ini, panggil proses ini seperti berikut -
mysql> CALL Scope_variables(); +-------+ | A | +-------+ | inner | +-------+ 1 row in set (0.00 sec) +-------+ | A | +-------+ | outer | +-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
Atas ialah kandungan terperinci Apakah maksud skop pembolehubah dalam prosedur tersimpan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!