Tips4. PL/SQLの命名ルール
基本的にPL/SQLには言語仕様として定められた命名ルールはありません。
Oracleからも命名は強制されていません。
(それどころか、Oracle謹製の開発ツールであるSQL*Developer初期設定と、OracleのERPパッケージであるE-Business Suiteにおける追加機能用開発者ガイドでは、大文字・小文字の命名ルールが真逆だったりします)
確実に言えるのは、オブジェクト名(テーブル名やカラム名、変数名等)が30byte以内に収める必要があります。
(12.2からは、128byteに拡張されました)
そのようにあまり制約がなく、自由に記述できるPL/SQLですが、以下の2点は命名規約として適用することを推奨します。
・大文字小文字の使い分け
基本的に予約語とそれ以外の単語で振り分けることになります。
どちらが大文字・小文字にするかは、ここでは問いませんが、いずれかに固定すべきです。
理由の一つは可読性。
そしてもう一つはSQLの性能に影響するためです。
SQLは、同一の内容でも、大文字・小文字が異なれば、違うSQLとして解析処理を行います。
同じSQLの解析結果がキャッシュに残っていれば、解析処理はスキップされます。
・システムハンガリアン記法で記述する
つまりはデータ型がわかるような接頭辞を付加するということです。
OracleのERPパッケージ「E-Business Suite」の開発者ガイドでは、これに変数の適用範囲も含めることを指定しています。
SQLを記述するにあたっては、データ型を意識し、暗黙の型変換が行われてINDEXが無効になる、という事象を避ける必要があります。
NUMBER型なら"n"、VARCHAR2なら"v"、DATE型なら"d"を接頭辞とすることで、常にプログラマがデータ型を意識するようになります。
同時に、変数のスコープも意識する必要があります。
こちらも関数内のローカル変数なら"l"、グローバル変数なら"g"を接頭辞とすることで、変数のスコープを意識することになります。
いずれも些細な内容かも知れませんが、後々問題になることを思えば、些細だからこそ開発の早い段階から対応しておくべきです。
ディスカッション
コメント一覧
まだ、コメントがありません