首页 > 代码库 > PL/SQL的变量

PL/SQL的变量

PL/SQL的变量:

变量类型:

1.系统内置的常规简单变量类型: 比如大多数 数据库表的字段类型都可以作为变量类型;

2.用户自定义复杂变量类型: 比如记录类型;

3.引用类型:保存了一个指针值;

4.大对象类型( LOB):保存了一个指向大对象的地址;

 

语法:  identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr];

技术分享

 

说明:

1.变量命名建议遵循通用规则,比如v_name 表示一个变量,c_name表示一个常量;

2.一般建议每一行声明一个变量,这样程序的可读性比较好;

3.如果声明了变量,但未进行初始化,则在没有赋值之前该变量的值为NULL; 一个好的编程习惯是对所有声明 的变量进行初始化赋值;

4.在同一个块中,避免命名与数据库表中的字段名相同的变量。

 

常规类型的变量声明举例:

技术分享

 

1.标量数据类型  

前面在建表时,学习过Oracle SQL的数据类型,PL/SQL不但支持这些数据类型,还具备自身的数据类型。如下图:

  技术分享

  技术分享

 

2.属性数据类型

当声明一个变量的值是数据库的一行或者是数据库的某列时,可以直接使用属性类型来声明。ORACLE有两种属性数据类型:%TYPE和%ROWTYPE

%ROWTYPE:引用数据库表中的一行作为数据类型,可以使用" . " 来访问记录中的属性。

实例:

          技术分享

 

 

 

 

 

 

 

 

 

 

%TYPE

引用某个变量或者数据库的的类型作为某变量的数据类型,identifier Table.column_name%TYPE;

实例:

技术分享

可绑定变量(Bind Variable 也称为Host Variable , 非PLSQL 变量):

可绑定变量是一种在缩主环境中定义的变量,所谓缩主环境一般指示SQLPLUS执行环境或者是 PLSQL Developer 的Command Window执行环境;可绑定变量可用于在运行时把值传递给PLSQL, 创建语法: VARIABLE return_code NUMBER VARIABLE return_msg VARCHAR2(30) 大家注意,在标准的PLSQL中定义变量是不能用VARIABLE关键字的,此关键字只在SQLPLUS执行环境中有效, 可使用PRINT语句输出变量内容。 在PLSQL中使用这种变量时,前面加”:”, 以示区分。

技术分享

PL/SQL的变量