- ベストアンサー
ストアドファンクションの実行
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 と言われます。 どうすればエラーを解決できますでしょうか? 助言を宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ファンクションなので何らか戻値を表示する(返す)事が 必要になります。 select hoge('fuga') from dual; など。。
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
回答No.1
SQL> begin hoge('fuga'); end; で良いと思います。
質問者
お礼
ご回答、ありがとうございます。 SQL> begin hoge('fuga'); end; と試したところ、 SQL> begin hoge('fuga'); end; 2 となって入力待ちになってしまいます。 PL/SQL Developerのお試し版をダウンロードして がんばってみようと思います。 ありがとうございました。
お礼
ご回答、ありがとうございます。 select hoge('fuga') from dual; を試すと、 行1でエラーが発生しました。: ORA-14552: DDL、コミットまたはロールバックは問合せまたはDDML文中では実行できません。 とか、 ORA-06512: みたいなエラーが出てきました。 PL/SQL Developerのお試し版をダウンロードして がんばろうと思います。 ありがとうございました。