如果postgres中的语句抛出错误

时间:2013-03-29 19:07:32

标签: database postgresql if-statement

我正试图为此发表声明:

IF EXISTS (SELECT * FROM LeadCustomer WHERE FirstName = 'John' AND Surname = 'Smith') THEN
    SELECT * FROM LeadCustomer WHERE FirstName = 'John' AND Surname = 'Smith';
ELSE 
    INSERT INTO LeadCustomer (Firstname, Surname, BillingAddress, email) VALUES ('John', 'Smith', '6 Brewery close, Buxton, Norfolk', 'cmp.testing@example.com');;
END IF;

并抛出错误:

  

错误:“IF”处或附近的语法错误

我找到this question,但这些答案中建议的格式似乎也不起作用。想知道是否有人能告诉我为什么这不起作用?

2 个答案:

答案 0 :(得分:2)

If是plpgsql语言的一部分。它只能在plpgsql函数中运行:

http://www.postgresql.org/docs/current/interactive/plpgsql.html

答案 1 :(得分:2)

您正在寻找CASE表达式。