2015-12-17 92 views
-1

這裏是我的問題 之間的關係,我有2個表tbl_Persontbl_Job有一個共同的領域(jobID)和關係是的jobId在tbl_Person外鍵。 我想要防止和管理:刪除tbl_Job的記錄,如果jobID用於tbl_Person與C#和SQL。 理論上我知道,但我不能實施it.actually我需要一個函數類型布爾的SQLSERVER與tbl_Person搜索,然後返回true或false
與感謝:)防止刪除記錄,有兩個表

+0

對於SQL部分:https://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html或更好的http://www.mysqltutorial.org/mysql-foreign-key/ –

+0

非常感謝,我會看到它 – Homayoun

回答

0

所以你有一個1(工作)到n(人)關係的表。外鍵約束可防止刪除主鍵側(作業)上的記錄,只要外鍵側(人員)上有記錄即可。默認情況下,我的意思是你不要有一個ON DELETE CASCADE子句。

不是如果您想防止刪除一個工作,只要有人連接到它就添加一個ON DELETE CASCADE子句。

ALTER TABLE dbo.tbl_Person 
ADD CONSTRAINT FK_person_job FOREIGN KEY (jobID) 
REFERENCES dbo.tbl_Job (jobID) 
ON DELETE CASCADE -- <-- remove this! 

如果已經存在這樣一個子句,請刪除約束條件並在沒有此子句的情況下重新創建它。

ALTER TABLE dbo.tbl_Person DROP CONSTRAINT FK_person_job; 

ALTER TABLE dbo.tbl_Person 
ADD CONSTRAINT FK_person_job FOREIGN KEY (jobID) 
REFERENCES dbo.tbl_Job (jobID);