Sql 从多个表中删除行

Sql 从多个表中删除行,sql,stored-procedures,Sql,Stored Procedures,我创建了一个查询,该查询将从三个具有“Employee”的表中删除行。 当我执行它时,它只从一个表中删除行tblEmployeeType。我尝试在DELETE旁边添加其他表的别名,但SQL不支持它。有没有其他方法可以从多个表中删除行?或者我忘记了查询中的一些代码,或者我应该单独删除查询吗?多谢各位 DELETE a FROM tblEmployeeType a INNER JOIN tbl_Selected_AccessType b ON a.EmpT

我创建了一个查询,该查询将从三个具有“Employee”的表中删除行。 当我执行它时,它只从一个表中删除行tblEmployeeType。我尝试在DELETE旁边添加其他表的别名,但SQL不支持它。有没有其他方法可以从多个表中删除行?或者我忘记了查询中的一些代码,或者我应该单独删除查询吗?多谢各位

DELETE a
    FROM tblEmployeeType a INNER JOIN
         tbl_Selected_AccessType b
         ON a.EmpTypeName = b.UserType INNER JOIN
         tbl_AccessType_AllFunction c
         ON a.EmpTypeName = c.UserType
    WHERE a.EmpTypeName = 'Employee'`

INSERT
UPDATE
语句一次只能直接影响一个表。如果您在删除级联中配置了外键,则子记录将与父记录一起删除。不管使用级联,表上都应该有外键,这样
DELETE
就不会留下引用完整性受损的孤立子记录


插入
更新
中实现影响其他表的另一种方法是使用表上的触发器。当您希望在盲目删除子记录之前进行检查时,这是可取的。

如果在表之间定义了外键,则可以使用DELETE CASCADE在单个查询中删除这些表中的行。也可以使用delete语句创建存储过程。因为如果行不相关,则无法在单个查询中删除多个表中的行。