我对博士后有点陌生,所以这次我需要你的帮助。
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
欢迎任何帮助
1条答案
按热度按时间cigdeys31#
你的报告是使用postgres 12.3。然而,所报告的错误信息正是我在postgres 10(或更早版本)中看到的:
db<>在这里摆弄
CREATE PROCEDURE
是在11年级开始的。我怀疑你连接到了错误的/不同的数据库。
除此之外,你的例子可能只是一个函数。这个
COMMIT
作为最后一个命令毫无意义。请参见:在postgresql中,“存储过程”和其他类型的函数有什么区别?
或者,它是另一个在
CREATE PROCEDURE
命令(我也可以用这种方式再现错误信息:db<>在这里摆弄