我正在使用postgreSQL练习一点,我正在创建一个非常简单的函数,根据变量'num'的值将一行插入表中。但是,当我尝试创建该函数时,我在pgAdmin III中得到以下错误:
“发生错误:错误:IF LINE 3处或附近的语法错误:IF num = 1那么”
这是我的代码:
CREATE FUNCTION "elseIf"(IN num integer) RETURNS void AS
$BODY$
IF num = 1 THEN
INSERT INTO "Accounts"(
"Email", "Password")
VALUES ('email1', 'password1');
ELSE
INSERT INTO "Accounts"(
"Email", "Password")
VALUES ('email2', 'password2');
END IF;
$BODY$
LANGUAGE plpgsql VOLATILE NOT LEAKPROOF;
ALTER FUNCTION public."elseIf"(IN integer)
OWNER TO repository;
任何可能的解决方案?提前谢谢!
答案 0 :(得分:1)
PL / PgSQL必须包含在BEGIN ... END
块中。
... RETURNS VOID AS
$BODY$
BEGIN
IF num = 1 THEN
...
END IF;
END;
$BODY$ ....