[英]Problem on creating postgres stored procedure | Postgres 12
我是 Postgres 的新手,所以我需要你的帮助。
postgres=# select version();
version
------------------------------------------------------------
PostgreSQL 12.3, compiled by Visual C++ build 1914, 64-bit
(1 row)
1. CREATE PROCEDURE test (INT,varchar(200))
2. LANGUAGE plpgsql
3. AS $$
4. BEGIN
5.
6. create table test1 as
7. select id,name from mst_user_mobile limit 5
8.
9. COMMIT;
10. END;
11. $$;
从我的阅读来看,10 以上的 Postgres 版本支持 PROCEDURE 方法。 但是当我执行代码时,它总是在第 1 行出错(在单词 PROCEDURE 上)
我得到的这里错误:
ERROR: syntax error at or near "PROCEDURE"
LINE 1: CREATE PROCEDURE test (INT,varchar(200))
^
SQL state: 42601
Character: 8
欢迎任何帮助
您报告正在使用 Postgres 12.3。 然而,报告的错误消息正是我在 Postgres 10(或更早版本)中看到的:
ERROR: syntax error at or near "PROCEDURE" LINE 1: CREATE PROCEDURE test (INT,varchar(200))
db<> 在这里摆弄
CREATE PROCEDURE
是在 Postgres 11 中引入的。
我怀疑您连接到错误/不同的数据库。
除此之外,您的示例可能只是function 。 COMMIT
作为最后一个命令毫无意义。 看:
或者,它是CREATE PROCEDURE
命令之前缺少的另一个分号。 (您在问题中展示了另一个。)我也可以通过这种方式重现错误消息:
db<> 在这里摆弄
我想问题是;
在END
和最后一个$$
上。 在这种情况下你不应该使用它们!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.