在 postgreSQL-10 中创建存储过程时出错

Gra*_*ing 7 postgresql stored-procedures errors postgresql-10

我无法让我的第一个存储过程工作,所以我从手册中复制了这个例子:

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);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

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

我究竟做错了什么?

我在本地主机上运行数据库,以管理员用户身份运行。我自己安装的。安装过程无错误完成,我能够创建表、函数、触发器等。

Gra*_*ing 6

正如评论所说,PostgreSQL的-10并没有具备存储过程。早期版本也是如此。

替代方案:

  • 升级到版本 11 或更高版本
  • 使用函数

谢谢,@Erwin Brandstetter 和@a_horse_with_no_name