Postgresql中存储过程(函数)调用存储过程(函数)时应用注意的问题

在postgresql中咱们在执行存储过程当中每每会使用select 存储过程,可是若是存储过程当中再调用 存储过程时,就不能这样用了,应该用perform 存储过程,来看看官方文档的说明sql

=====================================================================
session

执行一个没有结果的表达式或者命令

有时候咱们但愿计算一个表达式或者一个命令,可是却丢弃其结果(一般由于咱们常常调用一些存在有用的反作用可是不存在有用结果值的函数)。 要在 PL/pgSQL 里干这件事, 你可使用PERFORM语句:函数

PERFORM query;

这条语句执行一个 query而且丢弃结果。 query 的写法和你日常写 SQL SELECT 命令是同样的, 只是把开头的关键字 SELECT 替换成 PERFORM。 PL/pgSQL 的变量和日常同样代换到命令中。 一样,若是命令生成至少一行,那么特殊的变量 FOUND 设置为真,若是没有生成行,则为假。post

注意: 咱们可能但愿没有INTO子句的SELECT也能知足这样的须要, 可是目前能够接受的惟一的方法是PERFORM。spa

一个例子:postgresql

PERFORM create_mv('cs_session_page_requests_mv', my_query);
相关文章
相关标签/搜索