我创建了一个自定义类型,如下所示:
CREATE TYPE my_schema.sample_type
AS
(
id int,
categories int[],
body text
);
此类型用作函数中的数组参数:
CREATE OR REPLACE FUNCTION my_schema.bulk_operation(
array_content my_schema.sample_type[]
)
RETURNS SETOF my_schema.sample_result_type
AS $$
DECLARE
--
BEGIN
--
--
END;
$$ LANGUAGE plpgsql;
我试图从SQL编辑器运行这个函数,但找不到如何创建这个数组参数并将其传递给函数。
我最近的尝试是创建一个如下所示的块,并使用my_schema.sample_type
的单个示例定义一个变量,然后在运行函数之前将其添加到数组中:
DO
LANGUAGE plpgsql $$
DECLARE
my_instance my_schema.sample_type;
BEGIN
SELECT
1 AS id,
'{10, 15}':: int[] AS categories,
'some content' as body
INTO my_instance;
END
但是它抱怨变量声明。
1条答案
按热度按时间l0oc07j21#
您可以创建一个行数组,然后将其强制转换为您的类型