postgresql如何执行存储过程
2023-04-18 14:24:19 时间
PostgreSQL中可以使用多种过程语言实现用户定义函数和存储过程对数据库功能进行扩展,这通常称为存储过程。
存储过程一般用于创建触发器或自定义聚合函数。另外存储过程还有许多过程特性,例如控制结构和复杂的计算。方便你更容易、更有效
地开发自定义函数。
如果没有定义函数或存储过程,也可以通过DO命令执行过程代码块。
实现语言
PostgreSQL 中的过程语言主要分为两组:
任何用户可以使用的安全语言。如SQL和PL/pgSQL 是安全语言。
仅超级用户使用的沙箱环境语言。因为沙箱语言提供了绕过安全限制并允许访问外部资源的能力。C语言是沙箱语言的一个例子。
PostgreSQL默认支持三种过程语言: SQL, PL/pgSQL, C语言。我们也可以加载其他语言扩展,如:Perl, Python, TCL等。
存储过程优势
主要包括下列几点:
减少应用和数据库服务器之间的网络传输。所有SQL语句被包装在一个过程中,应用程序紧紧发送一个函数调用命令即可得到执行结果,
而不需要发送多次SQL语句,等待每次调用结果。
提升应用性能。因为自定义函数或过程是在PostgreSQL数据库服务器中是预编译的。
在多个应用中可以重用。一旦开发了一个函数,就可以在任何应用中重复使用。
存储过程劣势
包括下面三点:
开发效率不高。因为存储过程编程需要特定技能,很多开发者没有掌握。
代码版本难以管理,其调试不方便。
对其他数据库系统过程或函数程序不兼容。如Mysql、Microsoft SQL server等。
推荐学习《python教程》!
相关文章
- 计算机揭秘之:网络分类和性能分析
- 小师妹学JavaIO之:Buffer和Buff
- 12个月大厂主机免费领AWS Azure Google-Cloud还不快到碗里来
- 如何在数据库中高效地存储频繁数据(源和目标的组合)以获得过去30天的top10搜索
- 我需要了解在红宝石
- reactive stream协议详解
- 在带有posgres数据库的jbpm6.5.0Final中错误:列“id”中的空值违反了非空约束条件
- TSQL批量插入数据,同时返回创建的ID到原始表
- 在Spring Boot中使用内存数据库
- Fabric的6大特性
- Libra教程之:Libra protocol的逻辑数据模型
- WiFi 提速的终极秘诀来了!
- 哪些安全隐患会导致网速突然变慢?
- 戏说不是胡说:高铁换乘之 IP 地址与 MAC 地址
- 5G可以通过芯片创新来释放
- 聊聊确定性网络的二三事
- Flink 计算 Pv 和 Uv 的通用方法
- 对边缘计算与云原生的理解与思考
- 为什么叫 HTTP/2 ,而不是 HTTP/2.0 ?
- 初探Bonree Box 3.0 看博睿数据是如何帮助企业提升用户体验