定义变量
介绍PL/SQL中变量的声明,以及该变量在代码中的作用域。
变量声明
变量声明语法请参见图1。
图1 declare_variable::=


对以上语法格式的解释如下:
- variable_name,为变量名。
- type,为变量类型。
- value,是该变量的初始值(如果不给定初始值,则初始为NULL)。value也可以是表达式。
示例
1 2 3 4 5 6 | DECLARE emp_id INTEGER := 7788; --定义变量并赋值 BEGIN emp_id := 5*7784; --变量赋值 END; / |
变量作用域
变量的作用域表示变量在代码块中的可访问性和可用性。只有在它的作用域内,变量才有效。
- 变量必须在declare部分声明,即必须建立BEGIN-END块。块结构也强制变量必须先声明后使用,即变量在过程内有不同作用域、不同的生存期。
- 同一变量可以在不同的作用域内定义多次,内层的定义会覆盖外层的定义。
- 在外部块定义的变量,可以在嵌套块中使用。但外部块不能访问嵌套块中的变量。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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; / |
查看更多:华为GaussDB 200 基本语句
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。