Вы не можете использовать процедуру в операторе 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>