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
- Oracle定義約束 外來鍵約束Oracle
- 利用虛擬列實現虛擬刪除的主外來鍵約束
- 為什麼在資料倉儲中很少使用主外來鍵約束
- Javaweb-約束-外來鍵約束JavaWeb
- oracle外來鍵約束的總結Oracle
- [20121020]主外來鍵約束以及NULL問題.txtNull
- oracle鍵約束控制Oracle
- Oracle外來鍵約束中NULL的處理OracleNull
- oracle lock鎖_v$lock_轉Oracle
- oracle 主外來鍵關係及實驗Oracle
- SQL的主鍵和外來鍵約束SQL
- Oracle主鍵約束、唯一鍵約束、唯一索引的區別(轉)Oracle索引
- 主外來鍵約束之主表插入未提交導致外來鍵表插入hang住的等待事件 TX-row lock contention事件
- 教你mysql如何增加外來鍵約束MySql
- MySQL禁用恢復外來鍵約束MySql
- 淺談Oracle 主外來鍵刪除語法格式Oracle
- mysql 刪除老是報外來鍵約束MySql
- 求主外來鍵的關係
- 檢視主外來鍵關係
- ORACLE查詢表之間的主外來鍵關係Oracle
- Oracle約束Oracle
- oracle 約束Oracle
- 資料完整性約束:主鍵、外來鍵、各種約束的建立刪除語句
- AppBoxFuture(七): 分散式外來鍵約束APP分散式
- mysql不能新增外來鍵約束怎麼辦MySql
- SQL外來鍵約束的含義及建立SQL
- mysql啟動和關閉外來鍵約束MySql
- 詳解外來鍵約束(foreign key)
- ORACLE: 查詢(看)表的主鍵、外來鍵、唯一性約束和索引Oracle索引
- 【Foreign Key】Oracle外來鍵約束三種刪除行為Oracle
- (轉)oracle資料庫中所有外來鍵約束失效SQL語句Oracle資料庫SQL
- mysql主外來鍵依賴關係MySql
- 關於主外來鍵關係DML父表和DML子表加鎖方式
- 聊聊Oracle外來鍵約束(Foreign Key)的幾個操作選項Oracle
- PostgreSQL11preview-支援陣列外來鍵約束SQLView陣列
- mysql中外來鍵約束級聯更新與刪除MySql
- 外來鍵約束drop table cascade constraintsAI