云数据库 GaussDB-定义变量:变量作用域

时间:2025-02-12 15:08:13

变量作用域

变量的作用域表示变量在代码块中的可访问性和可用性。只有在它的作用域内,变量才有效。

  • 变量必须在declare部分声明,即必须建立BEGIN-END块。块结构也强制变量必须先声明后使用,即变量在过程内有不同作用域、不同的生存期。
  • 同一变量可以在不同的作用域内定义多次,内层的定义会覆盖外层的定义。
  • 在外部块定义的变量,可以在嵌套块中使用。但外部块不能访问嵌套块中的变量。

示例

 1 2 3 4 5 6 7 8 91011121314
gaussdb=# DECLARE    emp_id  INTEGER :=7788;  --定义变量并赋值    outer_var  INTEGER :=6688;  --定义变量并赋值BEGIN    DECLARE                emp_id INTEGER :=7799;  --定义变量并赋值        inner_var  INTEGER :=6688;  --定义变量并赋值    BEGIN        dbe_output.print_line('inner emp_id ='||emp_id);  --显示值为7799        dbe_output.print_line('outer_var ='||outer_var);  --引用外部块的变量    END;    dbe_output.print_line('outer emp_id ='||emp_id);  --显示值为7788END;/
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0773.html