当前位置: 首页 > 知识库问答 >
问题:

如何在oracle SQL中更新作为组合键的一部分并充当一个表的主键和另一个表中的外键的列

宣星光
2023-03-14

我有两个表表 A 和表 B,其中表 A 具有列 col1、col2、col3、col4、col5 和 col1、col2 和 col3 组合以形成其主键。表 A 和表 B 在同一列(col1、col2 和 col3)上具有一对多关系作为其外键约束。现在,如何在 SQL 和Hibernate中仅更新表 A 和表 B 中的 col2 值?

共有1个答案

诸超
2023-03-14

不管是Hibernate还是主键上的列数。如果主键值已用作外键,则无法删除/编辑主键值。这是一个 CONSTRAINT FK 违规,约束函数正是为了避免任何行错误地成为孤儿并保持数据完整性。

这需要分三个步骤完成:

    < li >用您的新主键插入新行 < li >将您所有与旧PK相关的FK更新到您的新PK中 < li >删除旧主键
 类似资料:
  • 问题内容: 一个表的外键是否可以成为另一个表的组合主键的一部分?例如,如果我有两个表,一个包含有关不同用户的所有活动项目的信息,另一个包含有关项目正在使用哪种设备的信息: 项目表: (两者都不是唯一的) 设备表: (两者都不是唯一的) 现在可以将设备表中的ProjectId设置为项目表中的外键吗?尝试时,我收到一条错误消息,指出“项目表”中的列与现有的主键或唯一约束不匹配? 问题答案: 不。 创建

  • 问题内容: 为简化起见,我有两个使用外键一对一关联的表,例如: 一个用户可能有很多动作,也可能没有。我需要一个sql select来返回在actions表中没有user_id值的用户id。 所以我需要一个返回用户ID 2(Smith)的SQL查询,因为外键值不包含ID 2 我尝试了以下SQL,但它返回了所有用户ID: 问题答案:

  • 很抱歉我问了一个相当愚蠢的问题。例如,一个表可以有由“user_id”和“employee_id”组成的复合主键吗 和另一个包含“user_id”作为主键的表?

  • 问题内容: 我必须使用hibernate模式,并且不太确定如何解决此问题,我有2个具有1..n关系的表,如下所示: 我该如何使用Hibernate进行管理??? 我不知道如何管理第二张表的主键… 问题答案: 在Hibernate参考文档中有一个与您的案例完全相似的示例。在此示例之前,您将找到解释。这是与您的问题匹配的示例(用户是表A,客户是表B): 注意:如果您拥有这两个表的代理标识符,则要简单得

  • 问题内容: 我有一个Catagory表,具有复合主键和外键。我的表结构就像 我想要像这样的Catagory类的ORM映射 现在如何注释 问题答案: 或而不是的版本(已通过Eclipselink 2.2.1测试):

  • 问题内容: 我正在开发一个将用作其他应用程序的可扩展框架的应用程序。 基本类之一称为节点,节点具有内容。SQL表如下所示: TABLE节点(NodeId int,....等) 表格NodeContentRelationship(NodeId int,ContentType字符串,ContentId int) 开发人员可以扩展应用程序以创建自己的内容类型。 显然,从关系数据库的角度来看,这很不好,因