SELECTステートメントでプロシージャを使用することはできません。機能はい(適切なリターンタイプを使用)、手順いいえ。SELECTリストの項目は、値に解決される式である必要があります。手順はこの基準を満たしていません。
はい、パラメータリストで出力変数について言及する必要があります。プロシージャはこれらのパラメータをいくつかの値に設定します。それらを受け取るには、それぞれに出力パラメータを指定する必要があります。@schurikは、PL/SQLで通常どのように行われるかを示しています。@Datajamは、SQL * Plusで行う方法に近いですが、出力パラメータを省略しています。
SQL> var num_var number
SQL> var txt_var varchar2(15)
SQL> var txt_var2 varchar2(20)
SQL> exec PKGName.ProcedureName(1,'10/10/2010','10/23/2010',7,7, :num_var, :txt_var, :txt_var2);
PL/SQL procedure successfully completed
num_var
---------------
42
txt_var
-----------------
some text
txt_var2
-------------------
some other text
SQL>