# 称呼
CALL — 调用一个过程
# 概要
CALL name ( [ argument ] [, ...] )
# 描述
称呼
执行一个过程。
如果该过程有任何输出参数,则将返回一个结果行,其中包含这些参数的值。
# 参数
姓名
过程的名称(可选的模式限定)。
争论
过程调用的参数表达式。
参数可以包含参数名称,使用语法*
姓名* => *
价值*
.这与普通函数调用相同;看第 4.3 节详情。
必须为所有缺少默认值的过程参数提供参数,包括出去
参数。但是,参数匹配出去
参数不被评估,所以习惯上只写空值
为他们。(写点别的东西出去
参数可能会导致与未来 PostgreSQL 版本的兼容性问题。)
# 笔记
用户必须有执行
过程的特权,以便被允许调用它。
要调用函数(不是过程),请使用选择
反而。
如果称呼
在事务块中执行,则被调用的过程不能执行事务控制语句。只有在以下情况下才允许使用事务控制语句称呼
在自己的事务中执行。
PL/pgSQL 处理输出参数称呼
命令不同;看第 43.6.3 节.
# 例子
CALL do_db_maintenance();
# 兼容性
称呼
符合 SQL 标准,但输出参数的处理除外。该标准规定用户应该编写变量来接收输出参数的值。