SELECT FROM WMS_F_BOOK_DRIVER AS OF TIMESTAMP TO_TIMESTAMP 2023-06-28 181600 YYYY-MM-DD HH24MISS WHERE ORA_ROWSCN = SELECT ORA_ROWSCN FROM WMS_F_BOOK_DRIVER AS OF TIMESTAMP TO_TIMESTAMP 2023-06-
根据错误信息“ORA-01427: single-row subquery returns more than one row”,你的子查询返回了多行结果。要解决这个问题,你可以使用IN运算符来替代子查询,只需将子查询结果作为列表传递给IN运算符即可。以下是优化后的SQL语句:
SELECT * FROM WMS_F_BOOK_DRIVER AS OF TIMESTAMP ( TO_TIMESTAMP( '2023-06-28 18:16:00', 'YYYY-MM-DD HH24:MI:SS' ) ) WHERE ORA_ROWSCN IN ( SELECT ORA_ROWSCN FROM WMS_F_BOOK_DRIVER AS OF TIMESTAMP ( TO_TIMESTAMP( '2023-06-28 18:16:00', 'YYYY-MM-DD HH24:MI:SS' ) ) ) AND ORA_ROWSCN < ( SELECT ORA_ROWSCN FROM WMS_F_BOOK_DRIVER AS OF TIMESTAMP ( TO_TIMESTAMP( '2023-06-28 19:16:00', 'YYYY-MM-DD HH24:MI:SS' ) )
原文地址: http://www.cveoy.top/t/topic/hAaM 著作权归作者所有。请勿转载和采集!