而你在另一会话(B)中除非你commit你在会话(A)中的 *** 作,才能看到刚插入的记录
都说rownum是oracle早先版本里的一个东西,只是数据在你查询中的行号,并不能按照某一个字段来排序,而且这个列只有从0或1开始,也就是说只能从1开始>=1 或>0 都是可以的,但不可以>2以上的
所以最好用 row_number()来解决
你上边这句
select r,re.*from (select row_number() over (order by sales desc) r,t_books.* from t_books) re
where r>2 and r<5
1 可能查不到2 原因可能是执行历史记录被删除了,或者是oracle未开启SQL执行历史记录功能。
3 如果历史记录被删除了,可以尝试在oracle数据库中查找备份文件,如果开启了SQL执行历史记录功能,可以通过以下命令查询历史记录:
SELECT sql_text, parsing_schema_name, elapsed_time, cpu_time, buffer_gets, disk_reads, optimizer_cost, fetches, executions, child_latch, sql_id, child_number, sql_plan_baseline, sql_plan_baseline_id, force_matching_signature, plan_hash_value, sql_profile, sql_profile_id FROM v$sql
如果还是无法查到,可以尝试联系数据库管理员或者oracle技术支持寻求帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)