SqlServer2000級聯刪除

2021-08-30 07:57:49 字數 1877 閱讀 7553

1.建立四個表:

create table client(

c_id int identity(1,1),

c_name nvarchar(255) unique,

c_pass nvarchar(255),

c_*** bit,

c_mail varchar(255),

c_qq varchar(255),

primary key(c_id)

); create table album_kind(

k_id int identity(1,1),

k_name nvarchar(255),

k_desc nvarchar(255),

primary key(k_id)

); create table album(

a_id int identity(1,1),

a_name nvarchar(255),

a_desc nvarchar(255),

a_create_date datetime,

a_times bigint,

c_id int,

k_id int,

primary key(a_id),

foreign key(c_id) references client(c_id) on delete cascade,

foreign key(k_id) references album_kind(k_id) on delete cascade

); create table album_word(

aw_id int identity(1,1),

aw_title nvarchar(255),

aw_content nvarchar(500),

commit_date datetime,

a_id int,

c_id int,

primary key(aw_id),

foreign key(a_id) references album(a_id) on delete cascade,

foreign key(c_id) references client(c_id) on delete cascade

); 這時(建立第四個表的時候)sqlserver2000會報告錯誤:

將 foreign key 約束 'fk_album_word_album' 引入表 'album_word' 中將導致迴圈或多重級聯路徑。請指定 on delete no action 或 on update no action,或修改其它 foreign key 約束。[microsoft][odbc sql server driver][sql server]未能建立約束。請參閱前面的錯誤資訊。

2.這時候我們去掉第四個表中的級聯刪除:

"on delete cascade"

再次執行。。。。通過

3.建立乙個觸發器可以解決這個問題(接以上1.2步):

create trigger album_word_client on client

for insert, update, delete

as delete album_word from album_word join deleted on album_word.c_id = deleted.c_id

完成!

語法:

create trigger 隨便乙個名稱(比如b_a) on 表a

for delete

as delete 表b from 表b join deleted on 表b.a表外來鍵=deleted.a表主鍵

(當刪除a中某條記錄,b中相關聯記錄也會相應刪除)

SQLSERVER2000技術規格

sqlserver2000技術規格 系統技術規格 每個伺服器最多可以允許16個sqlserver例項 每個例項可擁有 2147483467 個鎖 資料庫技術規格 sqlserver的資料庫大小1048516tb 每個資料庫可擁有的檔案組數32767 每個資料庫可擁有的檔案組數256 檔案大小 資料檔...

SQLSERVER2000啟動失敗

服務管理器中啟動sqlserver服務 彈出視窗的錯誤資訊是 本地計算機上的mssqlserver服務啟動後又停止了。一些服務自動停止,如果它們沒有什麼可做的,例如 效能日誌和警報 服務 1 解決方法 調整系統時間到你上一次能夠正常啟動的時間,啟動sqlserver服務,成功後,然後再把時間調回來。...

SQLSERVER2000技術規格

quote 系統技術規格 每個伺服器最多可以允許16個sqlserver例項 每個例項可擁有 2147483467 個鎖 資料庫技術規格 sqlserver的資料庫大小1048516tb 每個資料庫可擁有的檔案組數32767 每個資料庫可擁有的檔案組數256 檔案大小 資料檔案 32tb 夠大了吧,...