创建存储过程 (CREATE PROCEDURE)

用于定义新存储过程的 SQL 命令

CREATE PROCEDURE 是用于定义新存储过程的 DDL 命令。

CREATE PROCEDURE 添加于 PostgreSQL 11

修改历史

示例

CREATE PROCEDURE 的基本用法示例

postgres=# CREATE PROCEDURE foo() LANGUAGE SQL AS 'SELECT pg_reload_conf()';
CREATE PROCEDURE

postgres=# CALL foo();
CALL

无法创建与现有函数名称和参数相同的存储过程。

postgres=# CREATE PROCEDURE foo(int) LANGUAGE SQL AS 'SELECT 1';
ERROR:  function "foo" already exists with same argument types

可以创建名称相同但参数类型不同的函数和存储过程。

postgres=# \df
                       List of functions
 Schema | Name | Result data type | Argument data types | Type
--------+------+------------------+---------------------+------
 public | foo  |                  |                     | proc
 public | foo  | integer          | integer             | func
(2 rows)

可以创建和调用空存储过程。

postgres=# CREATE PROCEDURE emptyproc() LANGUAGE SQL AS '';
CREATE PROCEDURE

postgres=# CALL emptyproc();
CALL

分类

DDL函数和存储过程SQL 命令

另见

ALTER PROCEDUREDROP PROCEDURECALLCREATE FUNCTION

反馈

请在此提交关于 "CREATE PROCEDURE" 的任何评论、建议或更正 此处