此过程在MySQL中运行良好。
BEGIN
some_name:BEGIN
END
END
但是PostgreSQL中的不。它始终显示:
ERROR: syntax error at or near "some_name" Line n...
我们如何在postgresql中执行此操作? 作为一个信息,我正在研究将数据库从MySQL迁移到PostgreSQL的项目。
我不知道这个案子的最佳标题是什么。请有人根据案例编辑正确的标题。感谢。
答案 0 :(得分:2)
您没有使用嵌套过程,但您使用的是嵌套块。这些在PostgreSQL中得到了很好的支持。标签有不同的语法。它在plpgsql文档的第一页上进行了描述。阅读它是非常实用的,因为PL / pgSQL(PostgreSQL)的语法与PSM(MySQL)不同,
PostgreSQL PLpgSQL中标签的正确语法是<<name>>
所以你的代码应该是这样的:
BEGIN
<<some_name>>
BEGIN
...
END;
END;