我想做这个:
delete from table1 a,table2 b, table3 c
where a.col1 = b.col1
and b.col2 = c.col2
and a.co3 <> 8001;
但它给了我一个错误。
我想做这个:
delete from table1 a,table2 b, table3 c
where a.col1 = b.col1
and b.col2 = c.col2
and a.co3 <> 8001;
但它给了我一个错误。
首先删除最低级别,然后从那里向上移动,每级删除一次,直到最高级别:
DELETE FROM ChildTable WHERE ParentID=...
DELECT FROM ParentTable WHERE ParentID=...
您可以打开级联删除,然后删除父记录。
由于您没有指定每个表有什么外键以及在哪个字段上,我会猜测一下:
Delete TableC
Where Exists( Select 1 From TableA Where TableA.Col1 = TableC.Col2 And TableA.Col3 <> '8001' )
Delete TableB
Where Exists( Select 1 From TableA Where TableA.Col1 = TableB.Col2 And TableA.Col3 <> '8001' )
Delete TableA
Where Col3 <> '8001'
从 table1 a,table2 b, table3 c 中删除 A,
其中 a.col1 = b.col1
and b.col2 = c.col2
and a.co3 <> 8001;