dポイントプレゼントキャンペーン実施中!

DECLARE
  :
BEGIN
  :
で始まる無名ブロックと、
CREATE OR RELPLACE PROCEDURE 名前 is
   :
BEGIN
   :
で始まる名前つきブロックとは何が違うのでしょうか?
使い分けることによって、何かメリットがあるのでしょうか?

A 回答 (2件)

無名ブロックは、毎回同じSQLを流し直す必要がありますが、



CREATE PROCEDUREを作成すればDBにそのプロシージャが作成されて、
次からは名前指定で実行できます。
exec 名前

私は特に区別はしてないですが、
クライアントから実行する場合はプロシージャを作成しますが、
サーバ上のバッチでSQLファイルからを実行するときは無名ブロックを使ってます。
※いちいちプロシージャを直すより、SQLファイルレベルで直すほうが個人的にはやりやすいので。

まあ、このあたりは各現場次第な気がしますけどね。
    • good
    • 0

無名ブロックはその場限りしか使えません。


名前付きブロックは使い回しができます。

この回答への補足

具体的にはどういうことでしょうか?

補足日時:2010/10/30 17:46
    • good
    • 0

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

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