问题描述
|
每当将PL / sql中的查询写到只需要一行的地方时,通常有两种方法可以执行:
使用隐式“ 0”,并检查“ 1”和“ 2”异常。
使用显式游标,然后从游标中获取第一行。
尽管两种方法都产生相同的结果,但是这些方法的优缺点是什么?
解决方法
如果期望一条select语句仅返回一行,那么使用“ SELECT INTO \”是更好的方法。是的,许多开发人员更喜欢使用游标并仅获取一行,因为它为他们节省了处理NO_DATA_FOUND的“麻烦”-即,他们在地毯下扫除问题,并给用户留下了一个神秘的错误。我最近在博客上写了这种不好的做法*。
(*一个不好的做法,通常在项目PL / SQL标准中经常被提及!)
至于计数然后查询,这只会使工作加倍,因此也应避免。