我在尝试创建一个包含另一个 TYPE 的字段的 TYPE 时遇到了一些麻烦:
DROP TYPE IF EXISTS subType CASCADE;
CREATE TYPE subType AS (
filename varchar,
image bytea
);
DROP TYPE IF EXISTS superType CASCADE;
CREATE TYPE superType AS (
sort int,
label varchar,
photos SETOF subType,
);
但这不起作用。Postgres 给出一个错误:
ERROR: column "photos" cannot be declared SETOF
CONTEXT: SQL statement "CREATE TYPE superType AS ( sort int, label varchar, photos SETOF subType )"
PL/pgSQL function "update_database_script" line 2684 at SQL statement
我需要返回这个结构,尽管只返回图像数据(bytea 类型)而不返回 subType 中图像的文件名是可以接受的。它应该支持多张照片。
有人可以阐明如何做到这一点吗?