[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 数据库 > 其它 > 正文
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)

===更多相关===
 

★  樊强制作 欢迎分享  ★