2010-11-30 87 views
2

我做了一個簡單的函數,作爲我家庭作業的一部分,但對於我的生活,我無法弄清楚如何調用它並測試它。誰能告訴我如何?postgresql中的調用函數

-- Procedure 
CREATE OR REPLACE FUNCTION addDoctor (
    a INT, 
    b VARCHAR (20), 
    c VARCHAR (20) 
) RETURNS VOID 
LANGUAGE plpsql 
AS $BODY$ 
BEGIN 
    INSERT INTO doctor 
    VALUES (a,b,c); 
END; 
$BODY$ 

回答

7

使用SELECT

SELECT function_name(); 
+0

我試過了,它給了我錯誤的語法錯誤或在「選擇」附近。也許我正在屠殺這個功能,但它並沒有拋出一個錯誤。我將編輯以顯示我的代碼。 – Pinsickle 2010-11-30 06:06:53

+2

語言plpsql是錯誤的,這應該是一個額外的「g」plpgsql。 – 2010-11-30 06:34:44

0
CREATE or REPLACE FUNCTION analyzer(character varying, character varying) 
    RETURNS boolean AS 
$BODY$ 
-- 
begin 
-- 
    execute 'analyze '||quote_ident($1)||'.'||quote_ident($2) ; 
return 1 ; 
-- 
end ; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE SECURITY DEFINER; 
0

,如果你需要調用函數只是檢查可能發生裏去執行情況例外:

PERFORM f_foo(i); 

,如果你需要的結果,去選擇

SELECT function_name();