Oracle SQL动态列
我想根据用户活动创建具有展开列的表。 如果我有表Project、Worker和Worker_项目,则如下所示: 工人联合会项目: 工作人员名称,项目名称列表作为列。 每次添加项目时,我都想更改表并添加列, 但问题是PL SQL不支持一些静态SQL,包括AlterOracle SQL动态列,sql,oracle,plsql,schema,Sql,Oracle,Plsql,Schema,我想根据用户活动创建具有展开列的表。 如果我有表Project、Worker和Worker_项目,则如下所示: 工人联合会项目: 工作人员名称,项目名称列表作为列。 每次添加项目时,我都想更改表并添加列, 但问题是PL SQL不支持一些静态SQL,包括Alter 我还有什么其他解决方案?方法错误。表列表正确,但方法错误 create table WorkerProject ( WorkerId int not null references Workers(WorkerId),
我还有什么其他解决方案?方法错误。表列表正确,但方法错误
create table WorkerProject (
WorkerId int not null references Workers(WorkerId),
ProjectId int not null references Projects(ProjectId)
);
这是基本思想。您并没有真正给出表的布局,但是您的想法是添加一个新行,而不是一个新列。这称为连接表
您还可以向表中添加其他信息。例如,工人被分配的日期,谁进行了分配,等等
我应该指出,Oracle是一个功能强大的数据库,它提供了其他解决方案,如嵌套表或JSON编码。不过,首先,您应该掌握如何以SQLish方式存储关系数据库的基础知识。如果您有特定的需求,那么还有其他功能可以提供帮助。错误的方法。表列表正确,但方法错误
create table WorkerProject (
WorkerId int not null references Workers(WorkerId),
ProjectId int not null references Projects(ProjectId)
);
这是基本思想。您并没有真正给出表的布局,但是您的想法是添加一个新行,而不是一个新列。这称为连接表
您还可以向表中添加其他信息。例如,工人被分配的日期,谁进行了分配,等等
我应该指出,Oracle是一个功能强大的数据库,它提供了其他解决方案,如嵌套表或JSON编码。不过,首先,您应该掌握如何以SQLish方式存储关系数据库的基础知识。如果您有特定的需求,那么还有其他功能可以帮助您