我有一张桌子,名字是member
.我想创建一个函数,如果表中不存在新的邮箱,则插入该邮箱,然后返回一个布尔值.
CREATE OR REPLACE FUNCTION
add_member(member_email TEXT)
RETURNS BOOLEAN AS
$$
BEGIN
IF NOT EXISTS (SELECT email FROM "community".member WHERE email = $1) THEN
INSERT INTO "community".member (email) VALUES ($1) RETURNING TRUE;
ELSE
RETURN FALSE;
END IF;
END;
$$
LANGUAGE PLPGSQL;
SELECT add_member('cheese.head@green.org');
我得到了这个错误ERROR: query has no destination for result data
.
INSERT
没有返回预期的数据吗?或者将其包装在另一种数据类型中?这就是你用INSERT
退货的方式吗?