当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

PL/SQL教程:属性类型有哪些

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可以引用表中的某列作的类型为变量的数据类型,也可以引用某变量的类型作为新变量的数据类型。

技术沙龙MORE+

标签错误:<!-- #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> -->
我要参加技术沙龙