私はテーブルに挿入してテーブルを更新する関数を持っています。Oracle:「select from dual」から関数を呼び出す
select AGENTS_REGISTRATION() from dual;
か::からそれを呼び出す
declare
x NUMBER;
begin
select AGENTS_REGISTRATION() into x from dual;
end;
/
は何もしません。別のフォームで必要な変更が行われます。
declare
x NUMBER;
begin
x := AGENTS_REGISTRATION();
end;
/
最初の2つの式で何が間違っていますか?
「何もしない」とはどういう意味ですか?問合せにDMLは使用できないため、ORA-14551エラーが発生しているはずです。 –
Oracle SQL Developerでは式を実行しますが、ORA-14551は取得しません。 ** select **ステートメントでデータを変更する関数を使用することはできません。あなたは答えとしてあなたのコメントを追加できますか? .... – gavenkoa
関数内でDML操作を実行することはできません。もしそれが "何もしません"と言っていたら、 '他の人がnullになった時 'や' ORA-14551'エラーを抑止する他の何らかの例外処理構造があるでしょう。 –