用户定义的函数的示例

下面的例子注册了一个名为 equal( ) 的外部函数,接受两个 point 数据类型值作为参量。在这个例子中,point 是不透明数据类型,指定一个二维点的 xy 坐标。
CREATE FUNCTION equal( a point, b point ) RETURNING BOOLEAN;
          EXTERNAL NAME "/usr/lib/point/lib/libbtype1.so(point1_equal)"
          LANGUAGE C
          END FUNCTION;

函数返回一个 BOOLEAN 类型的值。外部名称指定存储函数目标代码的 C 共享对象文件的路径。外部名称指出库包含另一个函数 point1_equal( ),它在 equal( ) 执行时调用。