创建postgres存储过程时出现问题| postgres 12

uqxowvwt  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(530)

我对博士后有点陌生,所以这次我需要你的帮助。

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. $$;

据我所知,postgres版本10以上,支持程序方法。但是当我执行代码时,它总是在第1行出错(在word过程中)
这是我得到的错误:

ERROR:  syntax error at or near "PROCEDURE"
LINE 1: CREATE PROCEDURE test (INT,varchar(200))
               ^
SQL state: 42601
Character: 8

欢迎任何帮助

cigdeys3

cigdeys31#

你的报告是使用postgres 12.3。然而,所报告的错误信息正是我在postgres 10(或更早版本)中看到的:

ERROR:  syntax error at or near "PROCEDURE"
LINE 1: CREATE PROCEDURE test (INT,varchar(200))

db<>在这里摆弄 CREATE PROCEDURE 是在11年级开始的。
我怀疑你连接到了错误的/不同的数据库。
除此之外,你的例子可能只是一个函数。这个 COMMIT 作为最后一个命令毫无意义。请参见:
在postgresql中,“存储过程”和其他类型的函数有什么区别?
或者,它是另一个在 CREATE PROCEDURE 命令(我也可以用这种方式再现错误信息:
db<>在这里摆弄

相关问题