3
我想在PostgreSQL 9.1中定义一个函数,它接受多个复合类型的INOUT参数,但我不知道如何调用它。调用具有多个复合输出参数的PostgreSQL函数
例如,
CREATE TYPE my_type_a AS (a integer, b float);
CREATE TYPE my_type_b AS (c boolean, d varchar(5));
CREATE FUNCTION my_complex_func(INOUT a my_type_a, INOUT b my_type_b)
RETURNS RECORD
'...'
LANGUAGE plpgsql;
定义语句执行得很好,但我不知道如何调用这个函数!我想:
SELECT INTO a, b
a, b FROM my_complex_func(a, b);
但是这给出了一个错误:
ERROR: record or row variable cannot be part of multiple-item INTO list
糟糕,忘记从子查询(x)写字段名称(comp) – 2012-04-05 08:40:06
是的,但是我需要返回的是复合类型的两个实例(在这种情况下是相同的类型,但可能不同)。有OUT参数时,我必须返回记录:'错误:由于OUT参数,函数结果类型必须记录“。当然,如果有一些方法可以做到这一点,但没有OUT参数也可以。 – EMP 2012-04-05 08:45:52
已添加示例... – 2012-04-05 08:47:14