我是博士后的新手,正在做我的一项任务.我必须创建一个只有一列的表,然后我得到了一个在pgadmin III上运行的语句:
BEGIN;
INSERT INTO mytable VALUES (1);
SAVEPOINT savepoint1;
INSERT INTO mytable VALUES (2);
ROLLBACK TO SAVEPOINT savepoint1;
INSERT INTO mytable VALUES (3);
SAVEPOINT savepoint2;
INSERT INTO mytable VALUES (4);
INSERT INTO mytable VALUES (5);
SAVEPOINT savepoint3;
SELECT * FROM mytable;
--NOTE: You need to run this IF statement as PGScript
--(button next to the normal run button)
IF (CAST ((SELECT MAX(id) FROM mytable) AS INTEGER) = 4)
BEGIN
RELEASE SAVEPOINT savepoint2;
END
ELSE
BEGIN
INSERT INTO mytable VALUES(6);
END
--Run the next steps normally
SAVEPOINT savepoint2;
INSERT INTO mytable VALUES (7);
RELEASE SAVEPOINT savepoint2;
INSERT INTO mytable VALUES (8);
ROLLBACK TO savepoint2;
COMMIT;
当我运行这个程序时,会出现以下错误:在"IF"处或附近出现语法错误
我已经看了这38.6.2. Conditionals38.6.2. Conditionals个,我不太明白这一点,我需要改变查询有吗
IF (CAST ((SELECT MAX(id) FROM mytable) AS INTEGER) = 4) THEN
BEGiN
然后当它结束时,我应该以:
END IF
到底为什么会有错误??