2009-09-02 6 views

答えて

1

ときには、あることをする方法が複数あります。ほとんどの開発者は、少なくとも私の経験では%NOTFOUNDを使う傾向があります。

編集

PL/SQL言語のdevisersは私たちに%NOTFOUNDを与えた理由を私は知りません。私は次回に彼に会うときにBryn Llewellynに尋ねることを覚えています。しかし、私の推測では、彼らはそれが役に立つと思っただけです。コーディングでは、他の形の文章と同様に、私たちは常にポジティブな態度を表しているので、自分自身を積極的に表現しようとするべきです。それは

exit when c1%notfound; 

exit when not c1%found; 

その後、明確である。しかし、おそらく、それは単なる好みの問題である、です。

しかし、%ISOPENの状況は、答えるのがはるかに簡単です。 %ISNOTOPENオペレータには使用できません。 %ISOPENを使用する場合は2回あります。最初は、カーソルがすでに開いている可能性があるときにカーソルを開く前です(これは非常にまれな状況です)。もう1つは、例えばEXCEPTIONSブロックのように、開いたカーソルを閉じる必要がある場合です。両方の状況において、我々はカーソルがOPENであることを知ることに興味がある。カーソルが開いていないかどうかはテストする価値がありません。

+0

あなたのansのためのThanx。しかし、なぜ%FOUNDのみで、%ISOPENではないのですか?私はそれの背後にある他の理由があることを知りたいです –

1

PL/SQLは、関連する言語エイダとSQLのように、(例えばあなたは、COMMITコマンドは絶対に何もしないオプションの「WORK」のパラメータを、持っていることをご存知でしたか?)多少英語のような構造を好む傾向がある

自然な形でコードを大声で読み取ることは悪いことではありません。つまり、「カーソルc1が見つからないときに終了する」というと、「カーソルが見つからないときに終了」よりも自然に聞こえます...

+0

"WORK"パラメータについて非常に興味深いです。私は、英語のような構造が、コードで終わらないビジネス分析タイプのコードを見直す際に非常に役に立ちます。 – caddis

関連する問題