Pl/pgSQL:执行VS调用 [英] PL/pgSQL: PERFORM vs CALL

查看:16
本文介绍了Pl/pgSQL:执行VS调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在研究从另一个过程调用过程与在Postgres 13中重复代码对性能的影响时,我发现您可以使用CALLPERFORM来调用其他过程。

我在谷歌上搜索了差异,但我找到的唯一相似的东西是

地址PERFORMEXECUTE而不是PERFORMCALL

有人知道有什么不同吗?我应该使用哪一个(从PL/pgSQL过程调用过程时)?

推荐答案

CALL执行PROCEDURE的命令,在添加SQL过程时随postgres 11一起添加。不能使用SELECT调用过程。

PERFORM是一个PL/pgSQL命令,用于执行任何SELECT语句并通过替换SELECT关键字(包括普通FUNCTION呼叫)。它一直是PL/pgSQL的一部分。

不能CALL函数,也不能PERFORM过程。
您可以在PL/pgSQL代码块内使用PERFORM,可以在任何地方使用SELECT(不使用INTO)。

小提琴here

相关:

这篇关于Pl/pgSQL:执行VS调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆