2009-09-02 56 views

回答

1

有时只是做了一件事情的方法不止一种。大多数开发人员倾向于使用%NOTFOUND(至少根据我的经验)。

编辑

我不知道为什么在PL/SQL语言的devisers给我们%NOTFOUND。我会记得在我下次看到他时问布伦·卢埃林。但我的猜测是,他们只是认为它会有用。在编码方面,正如其他形式的写作一样,我们应该总是试图积极表达自己,因为积极性更清楚地表达了我们的意图。也就是说,

exit when c1%notfound; 

更清晰然后

exit when not c1%found; 

但或许这只是一个品味的问题。

然而,随着%ISOPEN的情况是一个更容易回答。我们没有使用%ISNOTOPEN运营商。有两次我们想要使用%ISOPEN。第一种是在光标可能已经打开的情况下打开游标之前(这应该是非常罕见的情况)。另一个是我们可能需要关闭打开的光标,例如在EXCEPTIONS块中。在这两种情况下,我们都有兴趣知道光标是OPEN。测试游标是否不打开没有任何价值。

+0

thanx您答。但是,为什么它只针对%FOUND而不针对%ISOPEN?我想知道它背后是否有其他原因 – 2009-09-02 09:58:54

1

PL/SQL,如相关语言的Ada和SQL,往往有利于有点类似英语的结构(例如,你可知道,COMMIT命令有一个可选的“工作”参数,它绝对没有?)

如果能够以一种自然的方式大声读出的代码是不是一个坏的功能 - 即说:“当没有光标找到退出”“当光标C1没有找到退出”听起来有点比更自然...

+0

“WORK”参数非常有趣。在使用业务分析类型查看代码时,我发现类似英语的结构非常有用,这些类型不能与代码整天结合使用。 – caddis 2009-09-10 15:42:17