gpt4 book ai didi

oracle - Oracle 中的显式游标和隐式游标有什么区别?

转载 作者:行者123 更新时间:2023-12-03 10:31:35 27 4
gpt4 key购买 nike

我对 PL/SQL 中的游标术语有点生疏。有人知道这个吗?

最佳答案

隐式游标是 Oracle 在您执行查询时“自动”为您创建的游标。编码更简单,但受苦于

  • 效率低下(ANSI 标准规定它必须获取两次以检查是否有多个记录)
  • 数据错误的漏洞(如果你得到两行,它会引发一个 TOO_MANY_ROWS 异常)

  • 例子
    SELECT col INTO var FROM table WHERE something;

    显式游标是您自己创建的游标。它需要更多的代码,但提供更多的控制权 - 例如,如果您只想要第一条记录并且不关心是否有其他记录,您可以只打开-获取-关闭。

    例子
    DECLARE   
    CURSOR cur IS SELECT col FROM table WHERE something;
    BEGIN
    OPEN cur;
    FETCH cur INTO var;
    CLOSE cur;
    END;

    关于oracle - Oracle 中的显式游标和隐式游标有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74010/

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