• ベストアンサー

ストアドファンクションの実行

CREATE OR REPLACE FUNCTION hoge(str IN VARCHAR2) ~ を作成した後、 PL*SQLにてSQL> exec hoge('fuga'); を実行すると、 行1でエラーが発生しました。: ORA-06550: 行1、列7: PLS-00221: 'hoge'がプロシージャではないか、または未定義です・ ORA-06550: 行1、列7: PL/SQL: Statement ignore と言われます。 どうすればエラーを解決できますでしょうか? 助言を宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • rollyk
  • ベストアンサー率61% (8/13)
回答No.2

ファンクションなので何らか戻値を表示する(返す)事が 必要になります。 select hoge('fuga') from dual; など。。

noname#30874
質問者

お礼

ご回答、ありがとうございます。 select hoge('fuga') from dual; を試すと、 行1でエラーが発生しました。: ORA-14552: DDL、コミットまたはロールバックは問合せまたはDDML文中では実行できません。 とか、 ORA-06512: みたいなエラーが出てきました。 PL/SQL Developerのお試し版をダウンロードして がんばろうと思います。 ありがとうございました。

その他の回答 (1)

回答No.1

SQL> begin hoge('fuga'); end; で良いと思います。

noname#30874
質問者

お礼

ご回答、ありがとうございます。 SQL> begin hoge('fuga'); end; と試したところ、 SQL> begin hoge('fuga'); end; 2 となって入力待ちになってしまいます。 PL/SQL Developerのお試し版をダウンロードして がんばってみようと思います。 ありがとうございました。

関連するQ&A