PL/SQL 变量
变量是一个有意义的名称,它有助于程序员在执行代码期间临时存储数据。它可以帮助您处理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]
在这里,variable_name是PL/SQL中的有效标识符,并且数据类型必须是有效的PL/SQL数据类型。具有大小,小数位数或精度限制的数据类型称为约束声明。约束声明比无约束声明需要更少的内存。
PL/SQL变量的命名规则
PL/SQL中的变量必须遵循某些命名规则,例如其他编程语言。
variable_name不得超过30个字符。
变量名称必须以ASCII字母开头。 PL/SQL不区分大小写,因此可以是小写或大写。例如: v_data和V_DATA引用相同的变量。
您应该使变量易于阅读和理解,第一个字符后可以是任何数字,下划线(_)或美元符号($)。
NOT NULL是变量的可选规范。
在PL/SQL中初始化变量
每次声明变量时,PL/SQL都会为其定义默认值NULL。如果要使用非NULL值以外的其他值初始化变量,则可以在声明期间使用以下任何一种方法进行初始化。
DEFAULT关键字
赋值运算符
counter binary_integer := 0;
greetings varchar2(20) default 'Hello lidihuo';
您还可以指定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.