如何把游标指向的联合查询的结果放到一个rowtype中

孙大诚_SunRobin 2016-09-21 01:30:23
我使用Open myCurosr For Select... 的方式打开了一个游标,这个select语句是个联合查询。我怎么查看结果呢?

Fetch myCursor into tempRow. 这个tempRow是个什么类型呢?

TableA%rowtype是不行的,因为select语句是2个表的联合查询。
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2016-09-21
  • 打赏
  • 举报
回复
把这个语句,放在存储过程中,在 PL\SQL 中,右键 “测试” 调试一下,就可以看到结果 了;
ghx287524027 2016-09-21
  • 打赏
  • 举报
回复
这给你写了一个简答的例子,可以参考一下:

declare
 type t_name is record(
   c1 varchar2(100),
   c2 varchar2(10)
  );
  v_record t_name;
  cursor cur is select ename,job from emp;
begin
  open cur;
  loop
    exit when cur%notfound;
    fetch cur into v_record;
    dbms_output.put_line(v_record.c1||' '||v_record.c2);
    end loop;
end;
  
ghx287524027 2016-09-21
  • 打赏
  • 举报
回复
引用 3 楼 sundacheng1989 的回复:
[quote=引用 1 楼 ghx287524027 的回复:] 利用type自定义数据类型,在这个类型中包含你游标中的所有字段
select A.NAME, B.BANK from USERLIST A joinBANKLIST B on A.BANKID = B.ID.[/quote]

Declare
     Type Type_name  is Record(
        NAME  varchar2(40),--数据类型最好和该字段在表中的定义保持一致
        BANK  varchar2(100)
     );
   EmpRec1  Type_name  ;--可以利用该自定义结构继续定义变量
   EmpRec2  Type_name  ;
 Begin
……
end;
孙大诚_SunRobin 2016-09-21
  • 打赏
  • 举报
回复
引用 1 楼 ghx287524027 的回复:
利用type自定义数据类型,在这个类型中包含你游标中的所有字段
select A.NAME, B.BANK from USERLIST A joinBANKLIST B on A.BANKID = B.ID.
孙大诚_SunRobin 2016-09-21
  • 打赏
  • 举报
回复
引用 1 楼 ghx287524027 的回复:
利用type自定义数据类型,在这个类型中包含你游标中的所有字段
本人新手,你能给个定义的例子么。比如说,我的select语句是 select A.NAME, B.BANK from USERLIST join A, BANKLIST B on A.BANKID = B.ID.
ghx287524027 2016-09-21
  • 打赏
  • 举报
回复
利用type自定义数据类型,在这个类型中包含你游标中的所有字段

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧