![[ 永远的UNIX::UNIX技术资料的宝库 ]](/images/title.gif)
|
| 首页 > 数据库 > 其它 > 正文 |
 |
| PostgreSQL7.0手册-用户手册-10. PL/pgSQL - SQL 过程语言 |
| 编译:何伟平 laser@zhengmai.com.cn (2001-04-21 21:28:45) |
第十章. PL/pgSQL - SQL 过程语言
概述
描述
例子
PL/pgSQL 是 Postgres 数据库系统的一个可装载的过程语言.
这个包最初是 Jan Wieck 写的.
概述
PL/pgSQL 的设计目标是创建一种可装载的过程语言,可以
可用于创建函数和触发器过程,
为 SQL 语言增加控制结构,
可以执行复杂的计算,
继承所有用户定义类型,函数和操作符,
可以定义为被服务器信任(的语言),
容易使用.
PL/pgSQL 函数第一次被后端调用时,PL/pgSQL 的调用控制器分析函数源文本生成二进制指令树.所生成的字节码在调用控制器里是用函数的对象标识来标记的.这样就保证如果使用 DROP/CREATE 序列修改了函数,不需要建立一个新的数据库联接就能令修改生效.
对于函数里用到的所有表达式和 SQL 语句,PL/pgSQL 字节码解析器使用 SPI 管理器 SPI_prepare() 和 SPI_saveplan() 函数创建一个准备好了的执行规划.这些动作是在(解析器)第一次处理时完成的,独立的语句是在 PL/pgSQL 函数里面处理的.因此,一个带有条件代码的有许多语句的需要执行规划的函数,将只准备和保存那些在整个数据库联接周期内真正使用到的规划.
除了用于用户定义类型的输入/输出转换和计算函数以外,任何可以在 C 语言函数里定义的东西都可以在 PL/pgSQL 里使用.我们可以创建复杂的条件计算函数,并随后将之用于定义操作符或者用于函数索引中.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
描述
PL/pgSQL 的结构
PL/pgSQL 语言是大小写不敏感的语言.所有关键字和标识都可以混合大小写使用.
PL/pgSQL 是一种面向块的语言.一个块象下面这样定义
[<
进入【UNIX论坛】
|
|
| 相关文章 |
PostgreSQL7.0手册-附录-文档 (2001-04-21 23:50:44) PostgreSQL7.0手册-附录-日期/时间支持-CVS 仓库 (2001-04-21 23:48:48) PostgreSQL7.0手册-教程 -73. Postgres SQL 高级特性 (2001-04-21 23:45:36) PostgreSQL7.0手册-教程 -72. 查询语言 (2001-04-21 23:44:40) PostgreSQL7.0手册-教程 -71. 开始 (2001-04-21 23:42:54) PostgreSQL7.0手册-教程 -70. 体系结构 (2001-04-21 23:41:58) PostgreSQL7.0手册-教程 -69. SQL (2001-04-21 23:41:23) PostgreSQL7.0手册-开发者手册 -68. 分页文件 (2001-04-21 23:39:22) PostgreSQL7.0手册-开发者手册 -67. 后端接口 (2001-04-21 23:38:34) PostgreSQL7.0手册-开发者手册 -66. gcc 缺省优化 (2001-04-21 23:37:20)
|
===更多相关=== |
|
|
 |
★ 樊强制作 欢迎分享 ★ |