a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

在Oracle中向視圖中插入數(shù)據(jù)的方法

2024-08-29 13:57:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
插入視圖的條件:  
1.如果視圖是基于一個(gè)基礎(chǔ)表產(chǎn)生的,那么這就稱為非連接視圖,所有的非連接視圖都是可以更新的,也就是說(shuō)可以在該視圖上進(jìn)行,INSERT,UPDATE,DELETE的操作.  
2.如果是連接視圖,那就要遵守基本更新準(zhǔn)則了.現(xiàn)在我只對(duì)INSERT準(zhǔn)則做一下說(shuō)明:在INSERT語(yǔ)句中不能顯式或隱式的引用到任何非碼保留基礎(chǔ)表中的字段,如果在定義視圖中使用了WITH CHECK OPTION子句,那就不能對(duì)視圖執(zhí)行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  

這個(gè)視圖中,EMP_NO仍然充當(dāng)主碼,所以EMP為碼保留表,而DEPT中的DEPT_NO就不是主碼了,所以為非碼保留表.  

多張表關(guān)聯(lián)后需要向視圖插入數(shù)據(jù),建議使用替代觸發(fā)器 

create trigger [觸發(fā)器名]
on [視圖名]
instead of insert
as
begin
--聲明變量;
--從inserted表中查出所有列的數(shù)據(jù),分別賦給聲明好的變量;

--用上面的數(shù)據(jù)向第一張表插入數(shù)據(jù)
--用上面的數(shù)據(jù)向第二張表插入數(shù)據(jù)
end

此外通過(guò)user_updatable_columns表能夠查詢到該表或者視圖是否可更新。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品视频自拍 | 成人免费精品 | 国产精品片aa在线观看 | 久久久久免费观看 | 久www| 四虎影视免费在线观看 | 亚洲综合色自拍一区 | 免费国产视频 | 国产一区二区在线观看视频 | 成人精品视频 | 精品视频在线免费观看 | 日产精品久久久一区二区 | 国产精品久久婷婷六月丁香 | 日本视频黄 | a欧美| 亚洲一区免费视频 | 最新日韩av | 在线免费观看黄色av | 91视频免费观看 | 久二影院| av日韩一区 | 日韩视频在线观看一区 | 一级免费毛片 | 2018国产大陆天天弄 | 久久综合九九 | 九九热这里只有 | 免费一区二区三区 | 精品久久一区 | 黄色毛片免费看 | 欧美日本免费 | 成人高清视频免费观看 | 4hu在线 | 日韩精品久 | 午夜视频在线观看网站 | 国产精品久久久久无码av | 久久中文字幕一区 | 亚洲国产精品久久久久秋霞不卡 | 亚洲高清免费视频 | 色婷婷电影| 激情国产 | 一区二区在线视频观看 |