重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは。
ストアドの勉強を始めたばかりなのですが、
ストアドプロシージャの中にファンクションを入れることは可能なのでしょうか?
それともファンクションを入れたい場合はパッケージ化しなくてはいけないのでしょうか?

よろしくお願いします。

A 回答 (1件)

以下のように、ストアドプロシージャ内で


サブファンクションを宣言することは出来ます。

create procedure A
is

function X
is
begin
  // ファンクション処理部
end

begin
  // プロシージャ処理部
end;

ただし、このファンクションは
ストアドプロシージャ内のPL/SQL文でのみ使用可能で、
かつ、select,insert 等のSQL文で
使うことは出来ません。

ストアドプロシージャ外、あるいは、
select,insert 等のSQL文で使う場合は
ストアドプロシージャとはべつに
ストアドファンクションにしてやるか、
パッケージ化する必要があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す