SQL刪除多表關聯資料的三種方法

2021-09-30 10:45:07 字數 1171 閱讀 2695

1.級聯刪除

create table a

(id  varchar(20) primary key,

password varchar(20) not null

)create table b

(id int identity(1,1)  primary key,

name varchar(50) not null,

userid varchar(20),

foreign key (userid) references a(id) on delete cascade

)表b建立了外碼userid 對應a的主碼id,宣告了級聯刪除

測試資料:

insert a values ('11','aaa')

insert a values('23','aaa')

insert b values('da','11')

insert b values('das','11')

insert b values('ww','23')

刪除a表內id為『11』的資料,發現b表內userid 為「11」也被資料庫自動刪除了

delete a where id='11'

2.採用儲存過程

a表:aid   aname                                 主健:aid

b表:bid   belongaid bname               主健:bid,外健:belongaid 

c表:cid belongbid cname                  主健:cid,外健:belongbid

d表:did belongcid dname                  主健:did,外健:belongcid

其中:a表和b表通過a.aid和b.belongaid  建立了外健關係

b表和c表通過b.bid和c.belongbid  建立了外健關係

c表和d表通過c.cid和d.belongcid  建立了外健關係

3.採用觸發器

記 sql資料庫的三種刪除方式

sql 資料庫的三種刪除方式 特點 delete 屬於資料庫操縱語言dml,表示刪除表中的資料 刪除過程是每次從表中刪除一行,並把該行刪除操作作為事務記錄在日誌中儲存 可以配合事件 transaction 和 回滾 rollback 找回資料,且自增不會被重置 delete 既可以對table也可以...

sql中的三種刪除方式區別

一 sql中的語法 1 drop table 表名稱 eg drop table dbo.sys test 2 truncate table 表名稱 eg truncate table dbo.sys test 3 delete from 表名稱 where 列名稱 值 eg delete from...

PHP關聯陣列實現根據元素值刪除元素的方法

green red blue red array2 awww.cppcns.comrray b green result array diff array1,array2 這樣就相當於刪除 array1裡的值為 green 的元素。print r result 還有一程式設計客棧個方法,比上面的複雜...