PostgreSql 存储过程介绍

PostgreSql 存储过程介绍

本文我们了解PostgreSQL的存储过程。

概述

PostgreSQL中可以使用多种过程语言实现用户定义函数和存储过程对数据库功能进行扩展,这通常称为存储过程。

存储过程一般用于创建触发器或自定义聚合函数。另外存储过程还有许多过程特性,例如控制结构和复杂的计算。方便你更容易、更有效地开发自定义函数。

如果没有定义函数或存储过程,也可以通过DO命令执行过程代码块。

实现语言

PostgreSQL 中的过程语言主要分为两组:

  • 任何用户可以使用的安全语言。如SQL和PL/pgSQL 是安全语言。
  • 仅超级用户使用的沙箱环境语言。因为沙箱语言提供了绕过安全限制并允许访问外部资源的能力。C语言是沙箱语言的一个例子。

PostgreSQL默认支持三种过程语言: SQL, PL/pgSQL, C语言。我们也可以加载其他语言扩展,如:Perl, Python, TCL等。

存储过程优势

主要包括下列几点:

  • 减少应用和数据库服务器之间的网络传输。所有SQL语句被包装在一个过程中,应用程序紧紧发送一个函数调用命令即可得到执行结果,而不需要发送多次SQL语句,等待每次调用结果。
  • 提升应用性能。因为自定义函数或过程是在PostgreSQL数据库服务器中是预编译的。
  • 在多个应用中可以重用。一旦开发了一个函数,就可以在任何应用中重复使用。

存储过程劣势

包括下面三点:

  • 开发效率不高。因为存储过程编程需要特定技能,很多开发者没有掌握。
  • 代码版本难以管理,其调试不方便。
  • 对其他数据库系统过程或函数程序不兼容。如Mysql、Microsoft SQL server等。

总结

本文,我们介绍了 PostgreSQL存储过程,并讨论了其优缺点。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值