在PL / SQL中对单行查询使用游标方法与begin-end-exception方法的利弊

问题描述

| 每当将PL / sql中的查询写到只需要一行的地方时,通常有两种方法可以执行: 使用隐式“ 0”,并检查“ 1”和“ 2”异常。 使用显式游标,然后从游标中获取第一行。 尽管两种方法都产生相同的结果,但是这些方法的优缺点是什么?     

解决方法

如果期望一条select语句仅返回一行,那么使用“ SELECT INTO \”是更好的方法。是的,许多开发人员更喜欢使用游标并仅获取一行,因为它为他们节省了处理NO_DATA_FOUND的“麻烦”-即,他们在地毯下扫除问题,并给用户留下了一个神秘的错误。我最近在博客上写了这种不好的做法*。 (*一个不好的做法,通常在项目PL / SQL标准中经常被提及!) 至于计数然后查询,这只会使工作加倍,因此也应避免。