特定のテーブルにレコードを挿入し、関数内で発生した内容に応じて出力を返すoracleで関数を作成しました。例えば(ins_recリターン番号)私は、この関数を呼び出すと、SQLで、その出力を確認するにはどうすればよいSQL Plusで関数を実行
プラス
特定のテーブルにレコードを挿入し、関数内で発生した内容に応じて出力を返すoracleで関数を作成しました。例えば(ins_recリターン番号)私は、この関数を呼び出すと、SQLで、その出力を確認するにはどうすればよいSQL Plusで関数を実行
プラス
1つのオプションは、次のようになります。また
SET SERVEROUTPUT ON
EXEC DBMS_OUTPUT.PUT_LINE(your_fn_name(your_fn_arguments));
declare
x number;
begin
x := myfunc(myargs);
end;
:
select myfunc(myargs) from dual;
もう1つの答えがすでに述べられているので、select myfunc(:y) from dual;
を呼び出してください。ただし、sqlplで変数を宣言して設定すると私たちは少しトリッキーです:
sql> var y number
sql> begin
2 select 7 into :y from dual;
3 end;
4/
PL/SQL procedure successfully completed.
sql> print :y
Y
----------
7
sql> select myfunc(:y) from dual;
'select myfunc(myargs)from dual;'私のために働きました。私は 'delcare'版で問題を抱えていました。 – claptimes
私はプロシージャを呼び出す関数を持っています。このメソッドを使用して関数を呼び出すと、DML書き込み例外が発生します。 "exec dbms_output ...."コールを使用すると、エラーなしで動作します。 – user1747935
'select'ステートメントで_データを変更する関数を使用することはできません。 – GriffeyDog