Oracle培训课程:PL/SQL属性数据类型
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询Oracle培训课程:PL/SQL属性数据类型,当声明一个变量的值是数据库中的一行或者是数据库中某列时,可以直接使用属性类型来声明。Oracle中存在两种属性类型:%TYPE和%ROWTYPE。
`ROWTYPE
引用数据库表中的一行作为数据类型,即RECORD类型(记录类型),是PL/SQL附加的数据类型。表示一条记录,就相当于C#中的一个对象。可以使用“.”来访问记录中的属性。
代码演示:
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 totalsal mysal%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可以引用表中的某列作的类型为变量的数据类型,也可以引用某变量的类型作为新变量的数据类型。