运用%TYPE和%ROWTYPE类型的变量ITeye - 千亿集团

运用%TYPE和%ROWTYPE类型的变量ITeye

2019年02月20日11时15分35秒 | 作者: 静珊 | 标签: 变量,运用,类型 | 浏览: 1388

运用%TYPE和%ROWTYPE类型的变量

      在界说变量时处理能够运用oracle规则的数据类型外,还能够运用%TYPE和%ROWTYPE来界说变量.

     %TYPE类型的变量是专门为存储在数据列中检索到的值而创立的.关于运用%TYPE创立的变量,其数据类型由体系依据检索的数据列的数据类型决议.

     %ROWTYPE类型的变量,它能够一次存储从数据库检索的一行数据。

一、当你不知道表中的数据类型是什么时分?那你就考虑%TYPE来处理此问题。

当运用%TYPE界说变量时,其数据类型为指定的列的数据类型。

举例:

SQL  declare

  2     empno emp.empno%TYPE; //声明的时分一定要加上表的中列

  3     ename emp.ename%TYPE;

  4     job   emp.job%TYPE;

  5  begin

  6     select empno,ename,job into empno,ename,job from emp where empno=7369;

  7     dbms_output.put_line(empno||/||ename||/||job);

  8  end;

  9  /

履行成果:

7369/SMITH/CLERK

emp.empno%TYPE; 解析:首要它到emp表中去查找empno列 %TYPE回来其数据的数据类型。

%TYPE的优点:

1、 可移植性高(当咱们对表的数据类型发作改动时,用户不用考虑界说变量类型)

2、 用户不用检查数据类型就能够界说变量能够存储检索的数据。

二、%ROWTYPE

与%TYPE类型类似,也能够在不确定查询列的数据类型的情况下,运用%ROWTYPE类型的变量存储查询的数值,只不过%ROWTYPE一次能够存储一行数据

举例:

   SQL  declare

  2  row_data emp%ROWTYPE;

  3  begin

  4     select * into row_data from emp where empno=7369;

  5     dbms_output.put_line(row_data.empno||/||row_data.ename||/||row_data.job);

  6  end;

  7  /

留意:1、假如界说了%rowtype类型的变量,该变量的结构与界说表的结构完全相同,查询时有必要运用*或许罗列悉数的字段信息。

2、在运用select句子为%ROWTYPE类型的变量赋值时,有必要依据表界说时的结构为变量赋值。

!EndFragment
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    oracle数据库同步技能ITeye

    数据库,数据,技能
  • 3

    mysql免安装版装备ITeye

    设置,效劳,数据库
  • 4
  • 5

    按要求写sql句子itjob

    句子,学员,课程
  • 6

    检查数据库的SQL快报

    检查,数据库,检查表
  • 7

    DB2 备份和康复huabian

    康复,备份,数据库
  • 8

    运用MySQL头条

    运用,问题,效劳
  • 9
  • 10

    DATA PUMPfenghuang

    简略,指令,数据