PostgreSQL |
上一页 |
第二章. SQL 语法 |
下一页 |
域和列(字段)
域
一个 域 要么是给定表的一个属性,要么是下面之一:
-
oid
-
表示一个记录的唯一标识,它是由 Postgres 自动给所有记录附加的。Oid 是不可重用的32位长的数字。
-
xmin
-
正在插入的事务的标识。
-
xmax
-
正在删除的事务的标识。
-
cmin
-
事务内部的命令标识。
-
cmax
-
正在删除的事务标识。
关于这些域的更详细信息请参考 Stonebraker,
Hanson, Hong, 1987。在系统内部,时间是以 abstime 数据类型的记录表示的。事务和命令标识是32位数。事务是从512开始顺序赋值的。
列
列(字段)是下面形式的构造:
instance{.composite_field}.field `['number`]'
instance 标识一个特定的表,并且可以认为代表该表的实例。一个实例变量要么是一个表的名称,要么是一个用
FROM 子句定义的表的替身或者关键字 NEW 或 CURRENT。NEW 和 CURRENT 只能出现在一个规则的动作部分,而其他实例变量可以在任何
SQL 语句中使用。composite_field 是 Postgres 复合类型之一的一个域,而有效的复合域由表中的字段组成,这些字段正是复合域要计算的。最后,field
是上面提到的表中的一个一般的(基本类型)字段。如果
field
是数组类型,那么可选的 number 指示器指明数组中指定的元素。如果没有指明
number,那么返回所有数组元素。