1 可以
成都創(chuàng)新互聯(lián)公司,為您提供重慶網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)成都水泥攪拌車等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
2 也可以不用觸發(fā)器,用存儲過程也可以。
頁面點(diǎn)擊刪除,調(diào)用一個存儲過程。 存儲過程中把兩個delete語句寫在一起。
delete from student ....
delete from grade ....
commit; (這兩句就相當(dāng)于一個事務(wù))
異常處理中寫rollback,以防有問題刪除不成功可以回滾。
比較容易理解,如果表A中有一個外鍵引用了表B的主鍵,A表就是子表,B表就是父表。當(dāng)查詢表A的數(shù)據(jù)時,通過表A的外鍵將表B的記錄也查找出來,這就是級聯(lián)查詢。相應(yīng)的還有級聯(lián)刪除,當(dāng)刪除B表的記錄時,會先將A表中關(guān)聯(lián)的記錄刪掉
SQL和 Oracle外鍵的相關(guān)約束中的級聯(lián)刪除 我們在相關(guān)的系統(tǒng)中如果你要刪除相關(guān)記錄 我們就要關(guān)聯(lián)一起刪除N多張表 同時它們之間還存在著相互約束的關(guān)系 所以考慮到在創(chuàng)建表時加上約束關(guān)系
詳細(xì)內(nèi)容如下:
SQL的Oracle外鍵約束可以實(shí)現(xiàn)級聯(lián)刪除與級聯(lián)更新;Oracle 則只充許級聯(lián)刪除
SQL級聯(lián)刪除與級聯(lián)更新使用格式
CREATE TABLE A (ID INT PRIMARY KEY NAME VARCHAR( ))
CREATE TABLE A (ID INT REFERENCES A (ID)ON DELETE CASCADE ON UPDATE CASCADE AGE TINYINT)
Oracle 級聯(lián)刪除使用格式
CREATE TABLE A (ID INT PRIMAY KEY NAME VARCHAR ( ))
CREATE TABLE A (ID INT REFERENCES A (ID)ON DELETE CASCADE AGE NUMBER( ))
CREATE TABLE groups
(
id VARCHAR ( ) CONSTRAINT pk_groupid PRIMARY KEY
name VARCHAR ( )
description VARCHAR ( )
)
TABLESPACE userspace;
CREATE TABLE usringrp
(
group_id VARCHAR ( ) CONSTRAINT fk_uing_grpid
REFERENCES groups(id)
ON DELETE CASCADE
user_id VARCHAR ( )
)
TABLESPACE userspace;
PowerDesigner
參照完整性約束
限制(Restrict) 不允許進(jìn)行修改或刪除操作 若修改或刪除主表的主鍵時 如果子表中存在子記錄 系統(tǒng)將產(chǎn)生一個錯誤提示 這是缺省的參照完整性設(shè)置
置空(Set Null) 如果Oracle外鍵列允許為空 若修改或刪除主表的主鍵時 把子表中參照的外鍵列設(shè)置為空值(NULL)
置為缺省(Set Default) 如果指定了缺省值 若修改或刪除主表的主鍵時 把子表中參照的Oracle外鍵設(shè)置為缺省值(Default)
級聯(lián)(Cascade) 把主表中主鍵修改為一個新的值時 相應(yīng)修改子表中Oracle外鍵的值 或者刪除主表中主鍵的記錄時 要相應(yīng)刪除子表中外鍵的記錄
lishixinzhi/Article/program/Oracle/201311/17613