0

我已经阅读了PostgreSQL 控制结构页面,我决定做一个测试:

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

我已经单独测试了插入语句,它工作正常。但是当我运行上面的代码时,psql我得到:

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

它有什么问题?

4

1 回答 1

4

根据您的评论,您可能缺少一个 do 块:

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;

或者把它变成一个函数

于 2013-06-12T15:15:47.033 回答