oracle主外來鍵鎖_lock_約束
以scott使用者為例.
前言 1,emp是子表,dept是主表, 2,emp的列deptno外來鍵依賴於dept之deptno 3,emp的列deptno僅構建外來鍵約束,但未建立索引 |
操作:
---在一個會話
1,delete from emp where emp.deptno=10;
--以sysdba在另一個會話查詢上述會話
2,select * from v$lock where sid in(152);
ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK-------- -------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ----------A2F4F9E8 A2F4FA00 152 TM 51249 0 2 0 714 0 --51249是deptA2F4FAAC A2F4FAC4 152 TM 51251 0 3 0 714 0 --51251是empA2FC79E4 A2FC7A08 152 TX 524321 3234 6 0 714 0
--第三個新會話
2,delete from dept where deptno=10;此時就會發生鎖等待了
小結:
1,產生此種情形,須先執行刪除子表的操作,而非主表(注:如果先刪除主表,會提示違反外來鍵約束之類的資訊) |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-731655/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 批量刪除MSSQL 中主外來鍵約束SQL
- [20180423]關於閃回表與主外來鍵約束.txt
- oracle外來鍵約束的總結Oracle
- oracle 主外來鍵關係及實驗Oracle
- Javaweb-約束-外來鍵約束JavaWeb
- 外來鍵約束
- 淺談Oracle 主外來鍵刪除語法格式Oracle
- 關於外來鍵約束
- 約束外來鍵筆記筆記
- 聊聊Oracle外來鍵約束(Foreign Key)的幾個操作選項Oracle
- 求主外來鍵的關係
- AppBoxFuture(七): 分散式外來鍵約束APP分散式
- 教你mysql如何增加外來鍵約束MySql
- 資料庫的主外來鍵關係資料庫
- SQL外來鍵約束的含義及建立SQL
- mysql不能新增外來鍵約束怎麼辦MySql
- 主鍵約束、唯一約束和唯一索引索引
- oracle 註釋和約束Oracle
- EntityFramework Core 遷移忽略主外來鍵關係Framework
- Mysql-基本練習(06-唯一約束、外來鍵約束、新增、刪除單列)MySql
- 10、Oracle中的約 束constraintOracleAI
- mysql~資料完整性考慮~外來鍵約束MySql
- 生成指令碼,得到所有表的外來鍵約束,然後刪除並重建這些約束指令碼
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- 檢視oracle死鎖程式並結束死鎖Oracle
- MySQL建立資料表並建立主外來鍵關係MySql
- EF Code First中的主外來鍵約定和一對一、一對多關係的實現
- Oracle如何管理帶約束的B樹索引Oracle索引
- 資料遷移無法新增外來鍵約束,錯誤程式碼 1215
- 約束
- MariaDB資料庫的外來鍵約束例項程式碼介紹詳解資料庫
- [資料庫]資料庫中為什麼不推薦使用外來鍵約束資料庫
- 【MySQL】MySQL進階(外來鍵約束、多表查詢、檢視、備份與恢復)MySql
- 約束CONSTRAINTAI
- 03約束
- MySQL 約束MySql
- SQL約束SQL
- 《資料庫系統概論》5.0——常見約束 大學生學習筆記(主鍵 外來鍵)資料庫筆記
- (10)邏輯綜合新增約束(環境約束)