文档首页 > > 开发指南> 存储过程> 基本语句> 定义变量

定义变量

分享
更新时间: 2019/06/24 GMT+08:00

介绍PL/SQL中变量的声明,以及该变量在代码中的作用域。

变量声明

变量声明语法请参见图1

图1 declare_variable::=

对以上语法格式的解释如下:

  • variable_name,为变量名。
  • type,为变量类型。
  • value,是该变量的初始值(如果不给定初始值,则初始为NULL)。value也可以是表达式。

DECLARE
    emp_id  INTEGER := 7788;  --定义变量并赋值
BEGIN
    emp_id := 5*7784;  --变量赋值
END;
/

变量作用域

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

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

示例

DECLARE
    emp_id  INTEGER :=7788;  --定义变量并赋值
    outer_var  INTEGER :=6688;  --定义变量并赋值
BEGIN
    DECLARE        
        emp_id INTEGER :=7799;  --定义变量并赋值
        inner_var  INTEGER :=6688;  --定义变量并赋值
    BEGIN
        dbms_output.put_line('inner emp_id ='||emp_id);  --显示值为7799
        dbms_output.put_line('outer_var ='||outer_var);  --引用外部块的变量
    END;
    dbms_output.put_line('outer emp_id ='||emp_id);  --显示值为7788
END;
/
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区