PL/SQL教程

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.
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4