如果表中的特定行不再被其他表使用,我怎么能删除它?
假设我有一个[schedule]表和[scheduletype]表。如果在[schedule]表的[schedule]。[type]字段中找不到特定的[scheduletype],那么它将从[scheduletype]表中删除。
BTW我正在使用SQL Server 2005。
答案 0 :(得分:2)
尝试此操作(假设相关字段在id
中称为schedule
):
DELETE FROM scheduletype WHERE id NOT IN (select a.type FROM schedule a)
答案 1 :(得分:2)
首先,您应该设置一个外键约束,以确保在表与逻辑相关时不会发生删除。在此处阅读更多内容:http://msdn.microsoft.com/en-us/library/ms175464(v=SQL.90).aspx
对于删除,您可以这样做:
delete scheduletype
where type not in (select type from schedule)