我已经阅读了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;
^
它有什么问题?
我已经阅读了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;
^
它有什么问题?
根据您的评论,您可能缺少一个 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;
或者把它变成一个函数。