import cx_Oracle
# 创建数据库连接
dsn = cx_Oracle.makedsn('hostname', 'port', 'dbname')
connection = cx_Oracle.connect('username', 'password', dsn)
# 创建游标
cursor = connection.cursor()
# 分页查询
batch_size = 100
page_num = 1
while True:
start = (page_num - 1) * batch_size + 1
end = page_num * batch_size
query = f"""
SELECT * FROM (
SELECT t.*, ROWNUM r FROM (SELECT * FROM your_table ORDER BY some_column) t
WHERE ROWNUM = {start}
"""
cursor.execute(query)
rows = cursor.fetchall()
if not rows:
break
for row in rows:
print(row)
page_num += 1
# 关闭游标和连接
cursor.close()
connection.close()