Oracle:在数据透视查询中插入/编辑/删除数据?

时间:2018-12-25 14:07:25

标签: oracle plsql

我有一个绑定到数据库的应用程序。 Tha数据库有一个名为Objects的表:

表1:对象(ID,对象名称)

最终用户应该能够创建具有不同属性的不同对象(我事先不知道不同属性的数量和名称,但它们都是同一类型。例如varchar2)。

在数据库方面,它被组织在一个单独的表中,如下所示:

表2:ObjectAttributes(ID,ObjectID,AttributeName,AttributeValue)

(字段ObjectID是与表Objects链接的外键)

在应用程序端,我正在呈现数据,就像具有其所有属性的对象位于具有透视视图的同一张表中一样:

视图:ObjectsAndAttribute(ID,ObjectName,AttributeName1,AttributeName2等)

此视图是使用透视查询创建的。显示数据时,它工作得很好。但是,当用户想要创建一个新的对象时,例如在网格控件中编辑或删除对象,这就是一场噩梦。

  • 要进行编辑,我必须手动编辑两个表...
  • 在插入的情况下,我必须先在表Objects中插入数据,然后在ObjectAttributes中插入(由于外键约束)
  • 如果要删除,我必须先删除ObjectsAttributes中的第一个数据,然后再删除Objects(由于外键约束)

我做了所有这些工作,但是代码很长而且不够健壮。

我的问题是,有谁知道是否有可能在透视查询ObjectsAndAttribute中插入/编辑/删除数据,并且oracle将处理不同表中的相应操作?

还是有人知道其他实现吗?

谢谢。 干杯,

0 个答案:

没有答案