if语句中出现意外的IF(在END IF中)

时间:2013-06-12 15:10:55

标签: sql postgresql if-statement

我已阅读PostgreSQL control structure page,我决定进行测试:

IF 1 = 0 THEN
    INSERT INTO my_table (num_a, num_b)
    VALUES (1, 1);
END IF;

我已经单独测试了insert语句,它运行正常。但是当我在psql中运行上述代码时,我得到了:

ERROR:  syntax error at or near "IF" 
LINE 1: END IF;
            ^

它出了什么问题?

1 个答案:

答案 0 :(得分:4)

根据你的评论,你可能错过了一个阻止:

http://www.postgresql.org/docs/current/static/sql-do.html

DO $$
BEGIN
  IF 1 = 0 THEN
    INSERT INTO my_table (num_a, num_b)
    VALUES (1, 1);
  END IF;
END;
$$ language plpgsql;

或者将其放入function