CREATE PROCEDURE

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

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

CREATE PROCEDUREPostgreSQL 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”的任何评论、建议或更正,请在此处 提交