此程序在MySQL中运行良好。
BEGIN
some_name:BEGIN
END
END
但在 PostgreSQL 中不。它总是显示:
ERROR: syntax error at or near "some_name" Line n...
我们如何在 postgresql 中做到这一点? 作为引用,我正在从事将数据库从 MySQL 迁移到 PostgreSQL 的项目。
我不知道这个案例的最佳标题是什么。请有人编辑正确的标题以适合案例。谢谢。
最佳答案
您没有使用嵌套过程,但您使用的是嵌套 block 。这些在 PostgreSQL 中得到很好的支持。标签有不同的语法。在 plpgsql 的第一页上进行了描述文档。读起来很实用,因为PL/pgSQL(PostgreSQL)的语法与PSM(MySQL)不同,
PostgreSQL PLpgSQL 中标签的正确语法是 <<name>>
所以你的代码应该是这样的:
BEGIN
<<some_name>>
BEGIN
...
END;
END;
关于mysql - PL/pgSQL 中的标记 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49441276/