您的位置:首页 > 数据库 > Oracle

oracle 的rowtype使用

2013-10-16 11:07 323 查看
oracle 中%ROWTYPE的使用

1:table_name%ROWTYPE

    declare

   v_t1      t1%rowtype;

 begin

   select tid,tname into v_t1 from t1 where tid = 1;

  

   dbms_output.put_line(v_t1.tid || ' -- '||v_t1.tname);

 end;

2: 使用游标

 declare

   cursor cur is select tid,tname from t1 where 1 = 2;

   v_t1   cur%ROWTYPE;

 begin

   select tid,tname into v_t1 from t1 where tid = 1;

  

   dbms_output.put_line(v_t1.tid || ' -- '||v_t1.tname);

 end;

 

3   通过record

    declare

   type rec_t1 is record(

   tid     t1.tid%type,

   tname   t1.tname%type

   );

   v_t1   rec_t1;

 begin

   select tid,tname into v_t1 from t1 where tid = 1;

  

   dbms_output.put_line(v_t1.tid || ' -- '||v_t1.tname);

 end;

4: record嵌套rowtype

 declare

   type rec_t1 is record(

   tb_t1     t1%rowtype

   );

   v_t1   rec_t1;

 begin

   select tid,tname into v_t1.tb_t1 from t1 where tid = 1;

  

   dbms_output.put_line(v_t1.tb_t1.tid || ' -- '||v_t1.tb_t1.tname);

 end;

 

1: 一般用于需要一个表全部字段时使用

2,3,4:一般在返回一个表部分字段或多表查询返回多个表的字段时使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle11g oracle