3.PL/SQL 数据类型
前面在建表时,学习过 oracle SQL 的数据类型,PL/SQL 不但支持这些数据类型,还具备自身的数据类型。PL/SQL 的数据类型包括标量数据类型,引用数据类型和存储文本、图像、视频、声音等非结构化的大数据类型(LOB 数据类型) 等。下面列举一些常用的类型。
标量数据类型
标量数据类型的变量只有一个值,且内部没有分量。标量数据类型包括数字型,字符型,日期型和布尔型。这些类型有的是 oracle SQL 中定义的数据类型,有的是叫PL/SQL 自身附加的数据类型。字符型和数字型又有子类型,子类型只与限定的范围有关,比如NUMBER 类型可以表示整数,也可以表示小数,而其子类型 POSITIVE 只表示正整数。
学IT拿高薪,我选择兆隆IT云学院,0学费,0基础,课程全,保就业,等你来!
属性数据类型
当声明一个变量的值是数据库中的一行或者是数据库中某列时,可以直接使用属性类型来声明。oracle 中存在两种属性类型:%TYPE 和%ROWTYPE。
> %ROWTYPE
引用数据库表中的一行作为数据类型,即RECORD 类型 (记录类型),是 PL/SQL附加的数据类型。表示一条记录,就相当于Java 中的一个对象。可以使用 “.”来访问记录中的属性。
代码演示:%ROWWPE 应用
SQL> DECLARE
2 myemp EMP%ROWTYPE; ①
3 BEGIN
4 SELECT * INTO myemp FROM emp WHERE empno=7934; ②
5 dbms_output.put_line(myemp.ename); ③
6 END;
7 /
MILLER
PL/SQL procedure successfully completed
代码解析:
① 声明一个myemp 对象,该对象表示EMP 表中的一行。
② 从EMP 表中查询一条记录放入myemp 对象中。
③ 访问该对象的属性可以使用“。”
> %TYPE
引用某个变量或者数据库的列的类型作为某变量的数据类型。
代码演示:%TYPE应用
SQL> DECLARE
2 sal emp.sal%TYPE; ①
3 mysal number(4):=3000;
4 totalsalmysal%TYPE; ②
5 BEGIN
6 SELECT SAL INTO sal FROM emp WHERE empno=7934;
7 totalsal: =sal+mysal;
8 dbms_output.put_line(totalsal);
9 END;
10 /
4300
PL/SQL procedure successfully completed
代码解析:
① 定义变量sal为emp 表中sal 列的类型。
② 定义totalsal是变量mysal 的类型。
%TYPE 可以引用表中的某列作的类型为变量的数据类型,也可以引用莱变量的类型作为新变量的数据类型。
你离成功只差一次正确的选择,高薪才是王道!分享来自兆隆IT云学院,QQ:598756835