历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.
11.2. 示例 #
下面是创建一个把两个复数相加的操作符的例子。我们假设已经创建过
complex 类型的定义(见第 10 章)。首先需要一个完成工作的函数,然后就可以定义操作符:
CREATE FUNCTION complex_add(complex, complex)
RETURNS complex
AS 'PGROOT/tutorial/complex'
LANGUAGE C;
CREATE OPERATOR + (
leftarg = complex,
rightarg = complex,
procedure = complex_add,
commutator = +
);
现在我们可以这样做:
SELECT (a + b) AS c FROM test_complex;
c
-----------------
(5.2,6.05)
(133.42,144.95)
我们在这里展示了如何创建二元操作符。要创建一元操作符,只需省略
leftarg(左一元)或
rightarg(右一元)之一即可。procedure
子句和参数子句是
CREATE OPERATOR 中仅有的必选项。例子中展示的
commutator
子句是给查询优化器的一个可选提示。关于
commutator 和其他优化器提示的更多细节见下文。