2015-05-11 41 views
-2

我使用的是Oracle 11g r2 Express Edition和SQL命令行。我遇到問題時,我更新主鍵的外鍵沒有更新。有沒有解決方法?外鍵沒有在oracle中使用主鍵更新

這是命令我的2臺

CREATE TABLE staff(staff_id number(5) not null primary key); 

CREATE TABLE customer(customer_id number(5) not null primary key,staff_id number(5) not null references staff); 
+1

我不確定我是否理解您期望看到的行爲。主鍵應該是非易失性的(不變的)。外鍵不會執行級聯更新。你可以這樣做來實現級聯更新http://tkyte.blogspot.com/2009/10/httpasktomoraclecomtkyteupdatecascade.html,但這通常是你應該避免通過使主鍵非易失性開始。 –

回答

0

你究竟想幹什麼? 你的SQL語句是什麼?

您是否已將主鍵更新爲與客戶表中的某一行一致的值?你確定客戶表中有相應的行嗎?

+0

我正在更新表中員工的主鍵staff_id值爲100和客戶表中的這是外鍵的staff_id沒有更新值。當我查看staff表中的staff_id時,它顯示值100,而customer表中的staff_id沒有任何值。 –