如何使用 PostgreSql 中的 DO 函数修复 END$$ 错误
How to fix END$$ error with a DO function in PostgreSql
我不明白为什么我在“END $$”行中收到错误消息
DO $$
BEGIN
DECLARE
i INT := 0;
j INT := i + 1;
numberUsers INT;
BEGIN
SELECT COUNT(*) INTO numberUsers FROM "WU_Users";
WHILE i <= numberUsers LOOP
i := i + 1;
END LOOP;
END $$;
错误:
ERREUR: erreur de syntaxe à la fin de l'entrée
LIGNE 12 : END $$;
亲切的问候!
适当缩进,就会清晰。块结构为
DECLARE /* optional */
BEGIN
EXCEPTION /* optional */
END;
要格式化您的代码:
DO $$
BEGIN
DECLARE
i INT := 0;
j INT := i + 1;
numberUsers INT;
BEGIN
SELECT COUNT(*) INTO numberUsers FROM "WU_Users";
WHILE i <= numberUsers LOOP
i := i + 1;
END LOOP;
/* --> missing END; here <--- */
END $$;
或者,您可以删除开头的 BEGIN
,因为最外面的块只包含另一个块。
我不明白为什么我在“END $$”行中收到错误消息
DO $$
BEGIN
DECLARE
i INT := 0;
j INT := i + 1;
numberUsers INT;
BEGIN
SELECT COUNT(*) INTO numberUsers FROM "WU_Users";
WHILE i <= numberUsers LOOP
i := i + 1;
END LOOP;
END $$;
错误:
ERREUR: erreur de syntaxe à la fin de l'entrée
LIGNE 12 : END $$;
亲切的问候!
适当缩进,就会清晰。块结构为
DECLARE /* optional */
BEGIN
EXCEPTION /* optional */
END;
要格式化您的代码:
DO $$
BEGIN
DECLARE
i INT := 0;
j INT := i + 1;
numberUsers INT;
BEGIN
SELECT COUNT(*) INTO numberUsers FROM "WU_Users";
WHILE i <= numberUsers LOOP
i := i + 1;
END LOOP;
/* --> missing END; here <--- */
END $$;
或者,您可以删除开头的 BEGIN
,因为最外面的块只包含另一个块。