最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle數(shù)據(jù)庫中外鍵的相關(guān)操作整理

 更新時間:2016年01月15日 17:41:00   作者:hbhe0316  
這篇文章主要介紹了Oracle數(shù)據(jù)庫中外鍵的相關(guān)操作整理,包括對外鍵參照的主表記錄進(jìn)行刪除的操作方法等,需要的朋友可以參考下

racle使用外鍵來限制子表中參考的字段值,要求子表中的數(shù)據(jù)必須在主表中存在。當(dāng)主表的記錄發(fā)生變化時導(dǎo)致外鍵參考唯一約束值發(fā)生了變化時,Oracle指定了三種動作:默認(rèn)值(類似于restrict)、delete cascade和delete set null。(
1.創(chuàng)建父表并初始化數(shù)據(jù)

SQL> create table t_parent (parent_id int primary key, name varchar2(10));
Table created.
SQL> insert into t_parent values (1,'record1');
1 row created.
SQL> insert into t_parent values (2,'record2');
1 row created.
SQL> insert into t_parent values (3,'record3');
1 row created.
SQL> commit;
Commit complete.

2.創(chuàng)建三種類型的子表t_child1、t_child2和t_child3
(1)no action類別

SQL> create table t_child1 (child1_id int primary key, parent_id int);
Table created.
SQL> alter table t_child1 add constraint FK_t_child1 foreign key (parent_id) references t_parent (parent_id);
Table altered.
SQL> insert into t_child1 values (1,1);
1 row created.
SQL> commit;
Commit complete.

(2)cascade類型

SQL> create table t_child2 (child2_id int primary key, parent_id int);
Table created.
SQL> alter table t_child2 add constraint FK_t_child2 foreign key (parent_id) references t_parent (parent_id) on delete cascade;
Table altered.
SQL> insert into t_child2 values (2,2);
1 row created.
SQL> commit;
Commit complete.

(3)SET NULL類型

SQL> create table t_child3 (child2_id int primary key, parent_id int);
Table created.
SQL> alter table t_child3 add constraint FK_t_child3 foreign key (parent_id) references t_parent (parent_id) on delete set null;
Table altered.
SQL> insert into t_child3 values (3,3);
1 row created.
SQL> commit;
Commit complete.

3.確認(rèn)主表和子表中的數(shù)據(jù)

SQL> select * from T_PARENT;
PARENT_ID NAME
---------- ----------
     1 record1
     2 record2
     3 record3
SQL> select * from T_CHILD1;
CHILD1_ID PARENT_ID
---------- ----------
     1     1
SQL> select * from T_CHILD2;
 CHILD2_ID PARENT_ID
---------- ----------
     2     2
SQL> select * from T_CHILD3;
 CHILD2_ID PARENT_ID
---------- ----------
     3     3



4.嘗試對具有默認(rèn)類型外鍵參照的主表記錄進(jìn)行刪除

SQL> delete from T_PARENT where parent_id = 1;
delete from T_PARENT where parent_id = 1
*
ERROR at line 1:
ORA-02292: integrity constraint (HBHE.FK_T_CHILD1) violated - child record
found
SQL> select * from T_CHILD1;


 CHILD1_ID PARENT_ID
---------- ----------
     1     1

在此類型下,不允許刪除操作

5.嘗試對具有delete cascade類型外鍵參照的主表記錄進(jìn)行刪除

SQL> delete from T_PARENT where parent_id = 2;
1 row deleted.
SQL> select * from T_CHILD2;
no rows selected

級聯(lián)刪除成功


6.嘗試對具有delete set null類型外鍵參照的主表記錄進(jìn)行刪除

SQL> delete from T_PARENT where parent_id = 3;


1 row deleted.

SQL> select * from T_CHILD3;


 CHILD2_ID PARENT_ID
---------- ----------
     3

  主表記錄可以完成刪除,子表中對應(yīng)的內(nèi)容被設(shè)置為NULL。

相關(guān)文章

  • Oracle merge合并更新函數(shù)實例詳解

    Oracle merge合并更新函數(shù)實例詳解

    這篇文章主要給大家介紹了關(guān)于Oracle merge合并更新函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Oracle 生成未來三天的整點時間(步驟詳解)

    Oracle 生成未來三天的整點時間(步驟詳解)

    這篇文章主要介紹了Oracle 生成未來三天的整點時間,本文通過實例代碼分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • oracle net manager 數(shù)據(jù)傳輸安全步驟詳解

    oracle net manager 數(shù)據(jù)傳輸安全步驟詳解

    oracle net manager來加密客戶端與數(shù)據(jù)庫之間或中間件與 數(shù)據(jù)庫之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)。這篇文章主要介紹了oracle net manager 數(shù)據(jù)傳輸安全 ,需要的朋友可以參考下
    2018-09-09
  • Oracle RAC環(huán)境下的阻塞(blocking blocked)介紹和實例演示

    Oracle RAC環(huán)境下的阻塞(blocking blocked)介紹和實例演示

    這篇文章主要介紹了Oracle RAC環(huán)境下的阻塞(blocking blocked)介紹和實例演示本文提供了2個查詢腳本,并給出實例演示那些session為阻塞者,哪些為被阻塞者,需要的朋友可以參考下
    2014-09-09
  • oracle臨時表WITH?AS用法詳解

    oracle臨時表WITH?AS用法詳解

    文章介紹了Oracle數(shù)據(jù)庫中的臨時表,包括會話級臨時表和事務(wù)級臨時表的區(qū)別,以及它們的創(chuàng)建和使用方法,會話級臨時表數(shù)據(jù)僅在當(dāng)前會話存在,而事務(wù)級臨時表數(shù)據(jù)僅在當(dāng)前事務(wù)有效,文中還提供了創(chuàng)建和插入數(shù)據(jù)的示例,并簡要介紹了實際應(yīng)用中的案例
    2024-11-11
  • oracle復(fù)習(xí)筆記之PL/SQL程序所要了解的知識點

    oracle復(fù)習(xí)筆記之PL/SQL程序所要了解的知識點

    本文主要是前篇文章的續(xù)篇,主要來復(fù)習(xí)PL/SQL的基本語法、記錄類型、流程控制、游標(biāo)的使用、異常處理機(jī)制、存儲函數(shù)/存儲過程、觸發(fā)器。好記性不如爛筆頭,古人誠不欺我~
    2014-08-08
  • Oracle表空間與權(quán)限的深入講解

    Oracle表空間與權(quán)限的深入講解

    Oracle表空間(tablespaces)是一個邏輯的概念,真正存放數(shù)據(jù)的是數(shù)據(jù)文件(data files),下面這篇文章主要給大家介紹了關(guān)于Oracle表空間與權(quán)限的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • oracle誤drop/update操作后的數(shù)據(jù)恢復(fù)測試

    oracle誤drop/update操作后的數(shù)據(jù)恢復(fù)測試

    本人主要是對drop/update數(shù)據(jù)后,在允許有時間內(nèi)進(jìn)行數(shù)據(jù)恢復(fù),操作性強(qiáng),比較實用。不對理論進(jìn)行講訴,需要的朋友可以參考下
    2015-08-08
  • win10下oracle 11g安裝圖文教程

    win10下oracle 11g安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了win10下oracle11g安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • oracle如何修改Blob類型數(shù)據(jù),批量更新數(shù)據(jù)做字符替換

    oracle如何修改Blob類型數(shù)據(jù),批量更新數(shù)據(jù)做字符替換

    這篇文章主要介紹了oracle如何修改Blob類型數(shù)據(jù),批量更新數(shù)據(jù)做字符替換問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

麻江县| 遂宁市| 罗定市| 申扎县| 黑龙江省| 阿克| 东阿县| 东方市| 辛集市| 上虞市| 七台河市| 呼玛县| 宜丰县| 桂平市| 屯门区| 交口县| 宜兰县| 红原县| 寿宁县| 广平县| 开江县| 甘肃省| 萍乡市| 通州区| 萨嘎县| 通江县| 黑山县| 马山县| 张北县| 会同县| 北川| 云浮市| 伊金霍洛旗| 蓝山县| 太和县| 辽阳市| 于都县| 清丰县| 毕节市| 葵青区| 台州市|