0

我想使用记录类型作为参数,但我收到消息说函数不能有记录类型参数。我有一个函数可以对传递的参数Dao执行各种操作,我需要在存储过程中实现它。Arraylist因此,任何帮助将不胜感激。谢谢!m 寻找的函数类似于:

CREATE OR REPLACE FUNCTION est_fn_get_emp_report(rec record,...)

我是使用postgresql的新手,但以前使用过存储函数,但从来不必使用记录类型参数。

4

1 回答 1

2

简单的问题是您无法指定记录。您可以指定一些多态类型(ANYARRAY、ANYELEMENT)作为函数的输入,但它需要在规划时具有已知的结构,这可能导致多态类型作为输入 args 出现问题,即使在好日子。记录的问题是 PostgreSQL 在传入时不一定知道内部结构是什么。 ROW(1, 'test')在功能上下文中没有用。

相反,您想指定复杂类型。在依赖 PostgreSQL 方面,您实际上可以做到这一点。这允许您在传入时指定特定类型的记录。

于 2013-03-26T15:34:57.350 回答