【发布时间】:2019-10-06 08:05:15
【问题描述】:
我想使用PostgreSQL 实现一个对象关系数据库。我不想使用ORACLE。
我可以创建一个复合类型,然后在表中使用它,在其一个属性中添加一个限制,例如主键吗?
下面我举个例子:
CREATE TYPE teamObj AS (
idnumeric,
name character varying,
city character varying,
estadiumName character varying,
jugadores playerObj[]
);
CREATE TABLE teamTable (
equipo equipoobj,
PRIMARY KEY (equipo.id)
);
PRIMARY KEY (equipo.id)这行报错,我看了很多这个主题的文档,没找到解决办法,可能是PostgreSQL没有实现然而,或者永远不会实现它,或者我不明白 PostgreSQL 是如何运行的......
有人有解决方案吗?
谢谢。
【问题讨论】:
-
我觉得你只需要一个表
team.. PostgreSQL 会自动为你提供类型team与表的一行相同的数据类型和属性名。 -
我不认为你可以;我已经尝试了所有变体,包括那些声称通过其他 SO 问题起作用的变体,但没有找到任何可行的方法。不过,我同意 Islingre 的观点;以您在此处建议的方式使用类型只会使一切变得更加困难