1
我創建DB2(版本6.01)這樣一個功能:無法調用與CHAR參數上DB2用戶定義的函數我
CREATE FUNCTION myschema.test_c_c(param CHAR(1)) RETURNS CHAR(1) RETURN param;
,並得到一個succses消息「的System i導航」告訴我該功能在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]
「nicht gefunden」 等於 「未找到」。
的錯誤代碼解釋-204(它的一部分,full error code Description here)
「由名稱標識的對象未在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;
如果我錯過了點?
我執行與SQL Workbench/J所有statmentens(我覺得這非常有用)
個人而言,如果我已經宣佈國家進入「規範」的版本(即'CHAR'接受一個),我會只需讓其他版本進行投射/轉換,並將其轉換爲原始投射。然而,你已經找到了它 - 當你有能力時,繼續並接受你自己的答案。 –