PL/SQL教程:属性类型有哪些
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可以引用表中的某列作的类型为变量的数据类型,也可以引用某变量的类型作为新变量的数据类型。
-
标签错误:<!-- #Label#
labelId=20160707140604
moduleId=1
classId=12231768634
orderby=2
fields=url,title,u_info
attribute=
datatypeId=22192428132
recordCount=3
pageSize=
<htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate>
-->
- 我要参加技术沙龙