gpt4 book ai didi

python - 在 psycopg2 中移动命名光标

转载 作者:行者123 更新时间:2023-11-29 12:51:13 25 4
gpt4 key购买 nike

我在 psycopg2 中使用命名游标。如何重置光标从0开始?我用了下面的代码,没有效果,还报错。

with conn.cursor(name="curname") as cursor:
cursor.itersize = 100
cursor.execute("MOVE ABSOLUTE 0 IN curname",)

错误:

LINE 1: DECLARE "curname" CURSOR WITHOUT HOLD FOR MOVE ABSOLUTE 0 IN.

最佳答案

您必须使用 cursor.execute() 通过查询来初始化游标。然后您可以使用与客户端游标相同的函数(fetchone()fetchall() 等)。

SQL MOVE 命令由 scroll(value[, mode='relative']) 实现在 psycopg2 中。

简单示例(查询生成 10 行,整数从 1 到 10):

with conn.cursor(name="curname") as cursor:
cursor.itersize = 100
cursor.execute("select generate_series(1, 10)")

print('first:', cursor.fetchone())
cursor.scroll(9, mode='absolute')
print('tenth:', cursor.fetchone())
cursor.scroll(0, mode='absolute')
print('first again:', cursor.fetchone())

输出:

first: (1,)
tenth: (10,)
first again: (1,)

阅读更多关于 Server side cursors. 的信息

关于python - 在 psycopg2 中移动命名光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53530832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com