使用3个表的内部联接删除

Ümi*_*AYA 0 sql t-sql sql-server sql-server-2000

我有三个表,其中一个存储用户基本信息,另一个是配置文件信息,最后一个是存储用户图片.

当我删除这些用户时,我需要删除这些表中的所有数据.所以我写了这样的查询.

DELETE Kullanicilar FROM Kullanicilar 
INNER JOIN ProfilBilgileri ON Kullanicilar.ID = ProfilBilgileri.UyeID 
INNER JOIN UyeResim ON Kullanicilar.ID = UyeResim.UyeID 
WHERE Kullanicilar.ID=@ID
Run Code Online (Sandbox Code Playgroud)

但它只是删除了"Kullanicilar"表中的数据.
有什么建议?

编辑:我正在使用MSSQL 2008但托管公司2000所以我需要兼容的代码.

Rad*_*scu 5

您可以使用像Xavinou sugested这样的触发器,或者,如果表中有外键,则可以使用Cascade上的Delete选项.您的外键将使用以下方式创建:

FOREIGN KEY ([Id]) REFERENCES AnotherTable
ON DELETE CASCADE
Run Code Online (Sandbox Code Playgroud)