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中使用这种变量时,前面加”:”, 以示区分。