'PROCEDURE'postgresql

时间:2019-08-29 08:35:39

标签: postgresql stored-procedures postgresql-10

我的数据库托管在Amazon中,我正在使用pgAdmin 4连接到它。 我从https://www.postgresql.org/docs/11/sql-createprocedure.html

复制粘贴了代码段
CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
AS $$
   INSERT INTO tbl VALUES (a);
   INSERT INTO tbl VALUES (b);
$$;

问题是我在“ PROCEDURE”附近收到“语法不正确”错误 enter image description here

做错了什么?不确定如何检查Postgresql本身的版本

2 个答案:

答案 0 :(得分:2)

在Postgres 10中,您需要使用一个函数:

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

答案 1 :(得分:1)

根据PostgreSQL文档,版本11和12支持语法。

  

PostgreSQL: Documentation: 11: CREATE PROCEDURE

     

DocumentationPostgreSQL 11

     

支持的版本:Current11

     

开发版本:12 / devel

检查服务器上的PostgreSQL版本,从PgAdmin运行此查询:

SELECT version();