34、VIEW可以insert,delete,update.
試圖是可以insert ,delete,update的,但是要滿足一定的條件。所有的這些條件最終都反映在基表上,必須遵從基表的約束,並且也會觸發定義在基表上的trigger
[@more@]1.如果檢視是基於一個基礎表產生的,那麼這就稱為非連線檢視,所有的非連線檢視都是可以更新的,也就是說可以在該檢視上進行,INSERT,UPDATE,DELETE的操作.
2.如果是連線檢視,那就要遵守基本更新準則了.現在我只對INSERT準則做一下說明:在INSERT語句中不能顯式或隱式的引用到任何非碼保留基礎表中的欄位,如果在定義檢視中使用了WITH CHECK OPTION子句,那就不能對檢視執行INSERT操作.
注:碼保留表,非碼保留表的解釋:
在DEPT中,DEPT_NO是主碼,EMP中,EMP_NO是主碼
然後建立連線檢視:
create view emp_dept as
select emp.emp_no,emp.emp_name,emp.dept_no,dept.name
from emp,dept
where emp.dept_no=dept.dept_no
這個檢視中,EMP_NO仍然充當主碼,所以EMP為碼保留表,而DEPT中的DEPT_NO就不是主碼了,所以為非碼保留表.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/248644/viewspace-992235/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 380. Insert Delete GetRandom O (1)deleterandom
- mysql innodb新建索引堵塞update ,insert,deleteMySql索引delete
- SQLite語句(二):INSERT DELETE UPDATE SELECTSQLitedelete
- sql server 帶有OUTPUT的INSERT,DELETE,UPDATESQLServerdelete
- LeetCode-Insert Delete GetRandom O(1)LeetCodedeleterandom
- MongoDB入門系列(二):Insert、Update、Delete、DropMongoDBdelete
- 死鎖: delete+insert不存在PKdelete
- 用merge 語句代替 insert 和deletedelete
- 利用insert,update和delete注入獲取資料delete
- mysql 在delete、insert、update 時,page的變化MySqldelete
- [LeetCode] 380. Insert Delete GetRandom O(1)LeetCodedeleterandom
- MySQL之資料的insert-delete-update操作MySqldelete
- MERGE新特性(UPDATE WHERE,DELETE WHERE,INSERT WHERE)delete
- 模擬insert,update和delete造成阻塞的示例delete
- LINQ to SQL語句之Insert/Update/Delete操作SQLdelete
- Oracle資料庫中Insert、Update、Delete操作速度Oracle資料庫delete
- DELETE資料導致INSERT邏輯讀增加delete
- KunlunDB功能之insert/update/delete...returning語句delete
- LeetCode-Insert Delete GetRandom O(1) - Duplicates allowedLeetCodedeleterandom
- 索引是否也能提高UPDATE,DELETE,INSERT速度 解釋索引delete
- Default Locking for INSERT, UPDATE, DELETE, and SELECT ... FOR UPDATE (351)delete
- 輕量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 語句ORMSQLdelete
- Delete,insert,update與undo的關係[轉載TOM文章]delete
- [20190825]Join View and delete.txtViewdelete
- MySQL死鎖案例分析一(先delete,再insert,導致死鎖)MySqldelete
- java-Mybatis XML 對映器(select,insert, update 和 delete)JavaMyBatisXMLdelete
- SQL Server的Merge —— 一步實現 insert,update,deleteSQLServerdelete
- shrink space 的整個過程就是在做delete和insertdelete
- View.post為什麼可以拿到View的寬高?View
- 【MyBatis原始碼分析】insert方法、update方法、delete方法處理流程(上篇)MyBatis原始碼delete
- 【MyBatis原始碼分析】insert方法、update方法、delete方法處理流程(下篇)MyBatis原始碼delete
- myisam對於update,insert,delete關於auto_incremant的影響deleteREM
- innodb對於update,insert,delete關於auto_incremant的影響deleteREM
- 檢視insert,delete,update對基表的影響(檢視初識)delete
- 如何插入insert_update,delete_select特殊字元&到oracle表中delete字元Oracle
- python 使用 delete 方法時報錯,可以正常刪除Pythondelete
- MySQL 中 DELETE 語句中可以使用別名麼?MySqldelete
- drop物化檢視log表導致insert、delete、update報ORA-00942delete