DB2(バージョン6.01)で次のように関数を作成します。
CREATE FUNCTION myschema.test_c_c(param CHAR(1)) RETURNS CHAR(1) RETURN param;
成功のメッセージが表示され、「SystemiNavigator」がmyschemaの下でその機能を表示します。しかし、この関数をこのように呼び出そうとすると、次のようになります。
SELECT myschema.test_c_c('X') FROM SYSIBM.SYSDUMMY1;
次のメッセージが表示されます。
[SQL0204] TEST_C_C der Art *N in myschema nicht gefunden.
[SQL State=42704, DB Errorcode=-204]
「nichtgefunden」は「見つかりません」と同じです。
エラーコード-204の説明(その一部、完全なエラーコードの説明はこちら)
「名前で識別されるオブジェクトは、DB2®サブシステムで定義されていません。」
そして最後に、INTパラメータを使用するとすべて正常に機能します。
CREATE FUNCTION myschema.test_i_ri(param INT) RETURNS INT RETURN param;
SELECT myschema.test_i_ri(4711) FROM SYSIBM.SYSDUMMY1;
CREATE FUNCTION myschema.test_ii_ri(param1 INT, param2 INT) RETURNS INT RETURN param1 +param2;
SELECT myschema.test_ii_ri(800, 15) FROM SYSIBM.SYSDUMMY1;
私はどこでポイントを逃しますか?
私はSQLWorkbench / Jですべてのstatmentensを実行します(これは非常に便利です)