首先这个不是逻辑问题,话不多说,直接上例 Demo,
如下SELECT *
  FROM (SELECT T.*,
               ROW_NUMBER() OVER(PARTITION BY USER_ID ORDER BY CREATEDATE DESC)) RN
  FROM T_USER T)
 WHERE RN = 1;
现在需要将 user表的每一行 加点逻辑判断,转移到另一张表中,比如说T_USER 有 20多列,依照平时的 select * from T_USER 我可以直接把查询的结果放入 T_USER%ROWTYPE 中,但现在就是多了一个 rn,就卡这里了... 该用什么中间变量存储这查出来的数据
(别告诉我定义20个列的变量,然后把结果放入游标  按顺序fetch 进去...)。

解决方案 »

  1.   

      我犯2了,潜意识里面 把游标就想成了  open xx for xxx ;loop fetch xx into 变量xx,变量xxx
      

  2.   

      比如说我要得到名称, 那我的fetch into 后面应该怎么写?
      

  3.   

    第一,你不能隐式调用游标吗?
    第二,不能也可以创建一个视图create view vvv as
    SELECT *
      FROM (SELECT T.*,
                   ROW_NUMBER() OVER(PARTITION BY USER_ID ORDER BY CREATEDATE DESC)) RN
      FROM T_USER T)
     WHERE 1=2然后用vvv%rowtype