存储过程中这种问题,你们是怎么处理的?知道的等于送分啦!
首先这个不是逻辑问题,话不多说,直接上例 Demo,
如下
SQL code
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 进去...)。
------解决方案--------------------
游标啊,直接每行操作啊
干嘛定义20个列? 游标里的列你部变动的话完全不要定义变量取出来啊,只定义哪些你要进行变化的列即可