我已阅读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;
^
它出了什么问题?
答案 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。