首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EDB上的嵌套类型

EDB上的嵌套类型
EN

Stack Overflow用户
提问于 2021-03-09 20:24:50
回答 1查看 22关注 0票数 0

我在将plsql应用程序迁移到edb时遇到了问题。当前的问题是,比起我们的嵌套类型,比如:

代码语言:javascript
复制
 TYPE personas_rt IS RECORD (adulto numeric, nino numeric);  
 TYPE personas_aat IS TABLE OF personas_rt   INDEX BY BINARY_INTEGER;
 TYPE room_type_rt IS RECORD (id numeric, personas_aa personas_aat);
 TYPE room_type_aat  IS TABLE OF room_type_rt         INDEX BY BINARY_INTEGER;

在oracle plsql过程中,我可以这样做:

代码语言:javascript
复制
 hab_list (1).personas_aa (1).adulto := 2;

我的问题是,如何在edb中做到这一点?

我试着到处放圆括号和括号,但我找不到解决方案。

这当然是一个非常愚蠢的问题,但你能告诉我做这件事的语法吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-03-09 21:04:44

您可以在PostgreSQL中创建这样的类型:

代码语言:javascript
复制
CREATE TYPE personas_rt AS (adulto bigint, nino bigint);
CREATE TYPE room_type_rt AS (id bigint, personas_aa personas_rt[]);

然后,如果您有一个类型为room_type_rt[]的记录hab_list,则可以在PL/pgSQL中执行此操作:

代码语言:javascript
复制
((hab_list[1]).personal_aa[1]).adulto := 2;

但通常情况下,解开这种难以形容的嵌套混乱是一个好主意,这与关系数据库设计不太相称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66546830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档