MySQL存储过程中的变量范围是什么意思?
假设如果在BEGIN/END块中声明一个变量,则此变量的范围将在此特定块中。我们还可以在另一个BEGIN/END块中声明一个具有相同名称的变量,这将完全合法,但其范围将在其BEGIN/END块中。在以下示例的帮助下可以理解,我们在其中创建了一个过程来显示变量的范围-
示例
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;
-> //在上面的过程中,我们有两个具有相同名称的变量,即A。这里,内部变量声明只要在范围内就优先。关键是当到达第一个END时,内部变量消失,它被称为“OUTOFSCOPE”。要了解概念,请按以下方式调用此过程-
mysql> CALL Scope_variables(); +-------+ | A | +-------+ | inner | +-------+ 1 row in set (0.00 sec) +-------+ | A | +-------+ | outer | +-------+ 1 row in set (0.00 sec)
热门推荐
6 祝福语简短七夕
10 朋友节最简短祝福语
11 送给姐姐简短的祝福语
12 企业励志拜年祝福语简短
13 新娘对伴娘祝福语简短
14 祝福语简短唯美10字
15 老板生日祝福语简短语
16 给医生简短新年祝福语
17 人民子弟春节祝福语简短
18 升职祝福语朋友简短精辟