試圖創建我的第一個PostgreSQL函式,我不明白為什么我不能呼叫這個函式。
CREATE FUNCTION public. "SampledImpCountToOriginal"(IN integer)
RETURNS numeric
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
RETURN CASE WHEN $1 >。 4 THEN EXP(POW($1 - 1。 88, 1/2.3) ELSE $1 END;
END;
$BODY$。
SELECT SampledImpCountToOriginal(5)
錯誤:函式 sampledimpcounttooriginal(integer) 不存在。 第1行:SELECT SampledImpCountToOriginal(5) ^ 提示:沒有與給定名稱和引數型別相匹配的函式。你可能需要添加明確的型別轉換。SQL狀態。 42883 字符:8
從我創建它的同一個資料庫中呼叫,嘗試改變所有者,但無法理解。該函式在pgAdmin中被列為SampledImpCountToOriginal(IN integer).
uj5u.com熱心網友回復:
你必須像這樣呼叫 - SELECT "SampledImpCountToOriginal"(5)
當你使用雙引號""來創建函式時,你必須在呼叫程序中使用。 比如 -
SELECT public. "SampledImpCountToOriginal" (
<integer>
)
如果你不使用雙引號""來呼叫你的創建的函式與"",它考慮不同的函式。
SELECT public.sampledimpcounttooriginal(
<integer>
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/309280.html
標籤:
