Postgresql

在 postgreSQL-10 中創建儲存過程時出錯

  • March 11, 2019

我無法讓我的第一個儲存過程工作,所以我從手冊中複製了這個範例:

CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl VALUES (a);
INSERT INTO tbl VALUES (b);
$$;

CALL insert_data(1, 2);

我收到以下錯誤消息:

ERROR:  syntax error at or near "PROCEDURE"
LINE 1: CREATE PROCEDURE insert_data(a integer, b integer)
               ^
SQL state: 42601
Character: 8

我究竟做錯了什麼?

我在本地主機上執行數據庫,以管理員使用者身份執行。我自己安裝的。安裝過程順利完成,我可以創建表、函式、觸發器等。

正如評論中提到的,PostgreSQL-10 沒有儲存過程。早期版本也是如此。

解決方法替代方案:

  • 升級到版本 11 或更高版本
  • 使用函式

謝謝@Erwin Brandstetter 和@a_horse_with_no_name

引用自:https://dba.stackexchange.com/questions/231669