在 PL/SQL 中对单行查询使用游标方法与开始-结束-异常方法的优点/缺点



每当在PL/SQL中编写查询时,只需要一行,通常有两种方法可以完成:

  1. 使用隐式SELECT INTO,并检查TOO_MANY_ROWSNO_DATA_FOUND异常。
  2. 使用显式游标,只需从游标中获取第一行。

尽管这两种方法产生相同的结果,但这些方法的优缺点是什么?

当 select 语句预期只返回一行时,"SELECT INTO"是更好的方法。 是的,许多开发人员更喜欢使用游标并只获取一行,因为这为他们节省了处理NO_DATA_FOUND的"麻烦" - 即他们将问题扫到地毯下并给用户留下一个神秘的错误。 我最近在博客上写了关于这种不良做法*的文章。

(*一个不好的做法,经常被遗憾地载入PL/SQL项目标准!)

至于计数然后查询,那只会使工作量加倍,因此也要避免。

最新更新