定义语句
变量声明
语法:
variable_name type [:= value];
描述:
对以上语法格式的解释如下:
- variable_name为变量名。
- type为变量类型。
- value是该变量的初始值(如果不给定初始值,则初始为NULL);value也可以是表达式。
【示例】:
DECLARE v_emp_id INTEGER := 7788; BEGIN v_emp_id := 5*7784; END;
变量作用域
描述:
变量的作用域是变量在代码块中的可访问性和可用性。只有在它的作用域内,变量才有效。变量必须在DECLARE部分声明,即必须建立BEGIN-END块。块结构也强制变量必须先声明后使用,即变量在过程内有不同作用域、不同的生存期。
在一个有嵌套结构的语句块中,内层的定义的变量只能在内层使用,不能在其所属语句块外面使用。在外部语句块定义的变量,可以在嵌套的内层块中使用。
在两个并列的语句块中,各个块中定义的变量互不影响。
示例:
DECLARE v_emp_id INTEGER :=7788; v_outer_var INTEGER :=6688; BEGIN DECLARE /*v_emp_id INTEGER :=7799; 重复定义*/ v_inner_var INTEGER :=6688; BEGIN v_inner_var := v_emp_id; END; DECLARE v_inner_var INTEGER :=1122; BEGIN v_outer_var := v_inner_var; END; /*v_outer_var := v_inner_var; 不可访问,变量未定义*/ v_outer_var := v_emp_id; END;