%TYPE
当变量的值取自数据库中的表或需要将值写入其中时,就要使用%TYPE。
使用%TYPE就不需要在声明时指定数据类型了,仅需在%TYPE前加上数据库中表和列名即可。
例子:
v_ename emp.ename%TYPE;
如果要声明一个与先前声明过的变量完全相同类型的变量,将变量名加在%TYPE之前。
例子:
v_balance NUMBER(7,2);
v_min_balance v_balance%TYPE:=10; //初值为10,其数据类型与v_balance完全相同。
注意:NOT NULL限定的列不适用于%TYPE声明的变量,因此,若一个变量使用%TYPE和非空的数据库列声明的,则该变量可以为空值。
当变量的值取自数据库中的表或需要将值写入其中时,就要使用%TYPE。
使用%TYPE就不需要在声明时指定数据类型了,仅需在%TYPE前加上数据库中表和列名即可。
例子:
v_ename emp.ename%TYPE;
如果要声明一个与先前声明过的变量完全相同类型的变量,将变量名加在%TYPE之前。
例子:
v_balance NUMBER(7,2);
v_min_balance v_balance%TYPE:=10; //初值为10,其数据类型与v_balance完全相同。
注意:NOT NULL限定的列不适用于%TYPE声明的变量,因此,若一个变量使用%TYPE和非空的数据库列声明的,则该变量可以为空值。