ファンクションやプロシージャの引数の指定方法には、位置表記法と名前表記法の2種類があります。
以下のようなプロシージャを例にします。
- 実行例
- SQL> desc p_sample PROCEDURE P_SAMPLE 引数名 タイプ In/Out Default? ------------------------- ------------------ ------ -------- p1 VARCHAR2 IN p2 NUMBER IN
位置表記法
位置表記法は引数を定義されている順に並べて指定する方法で、最もポピュラーな方法です。
例)引数を位置表記法で指定する
1 |
exec p_sample('AA', 100); |
名前表記法
名前表記法は引数名と値をセットで指定する方法です。
例)引数を名前表記法で指定する
1 |
exec p_sample(p1 => 'AA', p2=>100); |
解説
- 位置表記法はシンプルでコード量が少ないというメリットがありますが、引数が多いと値が何を表しているのか分かりにくいというデメリットがあります。
- 名前表記法は引数が何を表しているのかぱっと見で判別がついたり、引数を省略したい場合でも容易に対応ができるといったメリットがあります。