[英]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.