2010-11-30 96 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();