PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 40. PL/pgSQL - SQL过程语言 | 下一页

# 40.4. 表达式

所有在PL/pgSQL语句里使用的表达式都是用服务器的普通 SQL执行器进行处理的。 例如，当要写一个如下的PL/pgSQL声明时

    IF expression THEN ...

PL/pgSQL会通过在SQL引擎中输入类似下面的查询来计算表达式

    SELECT expression

一旦形成`SELECT`命令，任何出现的PL/pgSQL变量名会由参数取代， 正如在第 40.10.1 节讨论的那样。 因此，只需要定义一次SELECT查询计划， 之后可以重复使用。也就是说，第一次使用表达式时， 本质上是生效的是`PREPARE`命令。 例如，我们声明两个整型变量`x`和`y`：

    IF x < y THEN ...

后台实际执行的是：

    PREPARE statement_name(integer, integer) AS SELECT $1 < $2;

并且，一条`EXECUTE`说明语句会处于预备状态， 以后每一次执行`IF`语句时都会调用该说明语句， 将当前PL/pgSQL变量的值提供为参数值。 通常情况下，对于PL/pgSQL用户来说， 这样做并不是特别重要，不过， 当在进行错误诊断时，如果知道这一点的话会很有用。 更多详细信息参阅第 40.10.2 节。

上一页 | 起始页 | 下一页
声明 | 上一级 | 基本语句