本文概要
变量是便于暂时的代码的执行期间程序员存储数据的有意义的名称。它可以帮助你在PL / SQL程序处理数据。它除了给一个存储区域的名称罢了。在PL / SQL每个变量具有定义该变量的存储器的大小和布局的特定的数据类型。
变量应不超过30个字符。信中任选随后多个字母,美元符号,数字,下划线等。
1.它需要使用之前先在一个PL / SQL块的声明部分声明变量。
2.默认情况下,变量名是不区分大小写。一个保留的PL / SQL关键字不能被用作变量名。
PL / SQL如何声明变量
你必须声明部分或一个包作为一个全局变量声明PL / SQL变量。申报后,PL / SQL分配内存变量的值和存储位置由变量名称标识。
语法声明变量:
以下是声明变量的语法:
variable_name [CONSTANT] datatype [NOT NULL] [:= | DEFAULT initial_value]
这里,变量名是在PL / SQL有效标识符和数据类型必须是有效的PL / SQL数据类型。与大小,缩放或精度限制的数据类型被称为约束声明。该宣言的约束比需要申报无约束更少的内存。
PL / SQL变量命名规则
在PL / SQL变量必须按照像其他编程语言的一些命名规则。
- 该变量名不应超过30个字符。
- 变量的名称必须以ASCII字母开头。在PL / SQL不区分大小写,因此它可以是大写或小写。例如:V_DATA和V_DATA指的是相同的变量。
- 你应该让你的变量易于阅读和理解,第一个字符后,它可以是任何数字,下划线(_)或美元符号($)。
- NOT NULL是可变的可选规范。
PL/ SQL初始化变量
Evertime声明变量,PL / SQL定义了一个默认值NULL吧。如果要初始化非NULL值的其他值的变量,你可以声明中这样做,通过使用下列方法之一。
- DEFAULT关键字
- 赋值运算符
counter binary_integer := 0;
greetings varchar2(20) DEFAULT 'Hello srcmini';
你也可以指定NOT NULL约束,以避免NULL值。如果指定了NOT NULL约束,则必须将这个变量的初始值。
你必须有一个良好的编程技巧来初始化变量正确,否则,有时程序会产生意想不到的结果。
初始化变量实例
让我们举一个简单的例子来解释得好:
DECLARE
a integer := 30;
b integer := 40;
c integer;
f real;
BEGIN
c := a + b;
dbms_output.put_line('Value of c: ' || c);
f := 100.0/3.0;
dbms_output.put_line('Value of f: ' || f);
END;
执行后,这将产生以下结果:
Value of c: 70
Value of f: 33.333333333333333333
PL/SQL procedure successfully completed.
PL / SQL变量的作用域
PL / SQL允许嵌套块。一个程序块可以包含另一个内部块。如果内部块内声明一个变量,它不是外面的块访问。有两种类型的变量范围:
- 局部变量:局部变量是内部块变量,并不外块访问。
- 全局变量:全局变量在最外面的块中声明。
局部和全局变量的例子
让我们举个例子来说明在其简单的形式局部和全局变量的用法:
DECLARE
-- Global variables
num1 number := 95;
num2 number := 85;
BEGIN
dbms_output.put_line('Outer Variable num1: ' || num1);
dbms_output.put_line('Outer Variable num2: ' || num2);
DECLARE
-- Local variables
num1 number := 195;
num2 number := 185;
BEGIN
dbms_output.put_line('Inner Variable num1: ' || num1);
dbms_output.put_line('Inner Variable num2: ' || num2);
END;
END;
/
执行后,这将产生以下结果:
Outer Variable num1: 95
Outer Variable num2: 85
Inner Variable num1: 195
Inner Variable num2: 185
PL/SQL procedure successfully completed.
评论前必须登录!
注册