如何解决在PostgreSQL中使用查询在打开的游标中的位置
| 我在查询中声明了一个游标,并希望使用同一表上的另一个查询在该打开的游标中重新定位,例如 这是我的光标; 声明mycursor游标以进行选择*在某个日期从mytable顺序中进行选择; 这是我想获得的职位: 从mytable中选择ROWNUMBER(),其中name = \“ fred \” 我想使用ROWNUMBER()(或其他构造)定位在打开的光标中。 我知道我可以使用“获取/移动”在光标内定位,但是定位不是绝对的。 能做到吗?解决方法
除非我读错了您的问题,否则您最好的办法是:
DECLARE mycursor CURSOR FOR
SELECT *,rank() OVER (ORDER BY somedate) FROM mytable ORDER BY somedate;
如果您事先知道行号,则可以通过移动/获取直接跳转到该行号。如果您不想要但想知道它,则可以在获取时使用它。
就是说,请注意查询本身将变慢。因此,如果您已经知道行的位置,可以选择ѭ1来更好;如果不知道,则从应用程序开始对行进行计数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。