2009-09-02 32 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