loadjava を使用してデータベースにロードされる次の Java があるとします。
package grassie.example;
public class Example {
public static String test(){
return "Hello World!";
}
}
そして、次の Oracle ストアド ファンクションが与えられます。
CREATE OR REPLACE FUNCTION TEST_FUNCTION RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'grassie.example.Example.test() RETURN java.lang.String';
関数が次のエラーでコンパイルされないのはなぜですか?:
Error(3,1): PLS-00311: the declaration of "grassie.example.Example.test() RETURN java.lang.String" is incomplete or malformed
Oracle クライアントは 9.2.0.8.0、データベースは 9.2.0.8.0 です。SQL Developer 2.1.0.63 の使用
編集:以下の回答に基づいて私の質問を修正しました。
さらに明確にするために、この単純なテスト クラスと関数を作成しました。これは、さまざまなパラメーターの型を受け入れて返す、より複雑な Java とストアド関数に問題があるためです。