簡體   English   中英

如何更新作為組合鍵的一部分的列,並充當一個表的主鍵,並作為oracle SQL中其他表的外鍵

[英]How to update a column which is part of a composite key and acting as primary key for one table and as a foreign key in other table in oracle SQL

我有兩個表TableA和TableB,其中TableA有列col1,col2,col3,col4,col5和col1,col2和col3組合形成其主鍵。 TableA和TableB在同一列(col1,col2和col3)上具有與其外鍵約束的一對多關系。 現在,如何在SQL和Hibernate中更新TableA和TableB中的col2值?

無論是休眠還是主鍵上的列數都無關緊要。 如果已將主鍵值用作外鍵,則無法刪除/編輯主鍵值。 這是一個CONSTRAINT FK VIOLATION ,並且約束函數正是為了避免任何行成為孤兒錯誤並保持數據完整性。

這需要分三步完成:

  • 使用新PK插入新行
  • 將與舊PK相關的所有FK更新為新PK
  • 刪除舊PK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM