每当我们发出COMMIT语句时,所有打开的游标都会被关闭。当我们在使用游标时必须在UPDATE之后频繁使用commit语句时,这是一种非常常见的情况。在这种情况下,我们可以在游标声明期间使用“ WITH HOLD”子句。
即使触发COMMIT语句后,“ WITH HOLD”子句也会使游标保持打开状态。我们可以通过以下方式给出“ WITH HOLD”子句。
EXEC SQL DECLARE ORDER_CUR CURSOR WITH HOLD FOR SELECT ORDER_ID, TRANSACTION_ID FROM ORDERS WHERE ORDER_DATE = ‘2020-07-28’ END-EXEC