文档章节

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

sucre
 sucre
发布于 2015/05/04 09:55
字数 336
阅读 4130
收藏 2

在postgresql中我们在执行存储过程中往往会使用select 存储过程,但是如果存储过程中再调用 存储过程时,就不能这样用了,应该用perform 存储过程,来看看官方文档的说明

=====================================================================

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

有时候我们希望计算一个表达式或者一个命令,但是却丢弃其结果(通常因为我们经常调用一些存在有用的副作用但是不存在有用结果值的函数)。 要在 PL/pgSQL 里干这件事, 你可以使用PERFORM语句:

PERFORM query;

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

注意: 我们可能希望没有INTO子句的SELECT也能满足这样的需要, 但是目前可以接受的唯一的方法是PERFORM。

一个例子:

PERFORM create_mv('cs_session_page_requests_mv', my_query);


© 著作权归作者所有

共有 人打赏支持
sucre
粉丝 32
博文 403
码字总数 211721
作品 0
高级程序员
私信 提问
PostgreSQL数据库日常学习笔记12-函数(存储过程)

温馨提示:本文中部分描述仅为个人理解,存在描述偏差或错误,内容仅供参考 某些其它数据库系统所定义活动数据库规则,通常是存储过程和触发器。在PostgreSQL中,这些规则可以通过函数和触发...

白豆腐徐长卿
2017/10/30
0
0
PgSQL · 特性分析 · 逻辑导出pg_dump分析

概述 PostgreSQL本身提供了逻辑导出工具pgdumpall和pgdump,其中pgdumpall导出所有的数据库,pgdump导出单个数据库,两个工具的用法和参数不再详细介绍,本文从代码层面上对此过程进行分析。...

卓刀
2018/07/10
0
0
Spring jdbcTeamplate调用postpresql的存储过程

postgresql的函数和存储过程都集合起来了,那如何在spring jdbcTeamplate调用postgresql的函数像其他数据库一样,使用“call”的这种方式呢? ----------- 补充 --------------------- 我现在...

SeizeMissing
2018/01/08
254
2
科普一种可以将PG变成通用SQL引擎的技术

作者介绍 伊翼,网名“小wing”,野生PG爱好者,从事数据库相关工作已近十年,目前供职于全球最大的通讯设备供应商。 原标题:《当FDW遇上GO》 FDW(Foreign Data Wrapper)是PostgreSQL(下...

伊翼
2018/06/14
0
0
PostgreSQL数据库和与mysql的性能比

如果很粗略地观察 PostgreSQL,会觉得这个数据库系统和其它数据库很类似。因为 PostgreSQL 使用 SQL 语言来在执行资料的查询。这些资料通过连外键联系在一起,以一系列表格的形式存在。Postg...

谢思华
2013/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
48分钟前
1
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
6
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxprobe16
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部