SQL删除语句(其中不在)

发布于 2024-11-28 04:56:49 字数 207 浏览 1 评论 0原文

仅当表中的数据不再被另一个表使用时,如何删除该表中的特定行?

假设我有一个 [schedule] 表和 [scheduletype] 表。如果在 [schedule] 表的 [schedule].[type] 字段中找不到特定的 [scheduletype],则它将从 [scheduletype] 表中删除。

顺便说一句,我正在使用 SQL Server 2005。

How can I delete a specific row on a table only if its data is not used by another table anymore?

Lets say I have a [schedule] table and [scheduletype] table. If a specific [scheduletype] is not found in [schedule].[type] field of the [schedule] table then it will be removed from the [scheduletype] table.

BTW I am using SQL Server 2005.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

2024-12-05 04:56:49

试试这个(假设相关字段在 schedule 中称为 id):

DELETE FROM scheduletype WHERE id NOT IN (select a.type FROM schedule a)

Try this (assuming the relevant field is called id in schedule):

DELETE FROM scheduletype WHERE id NOT IN (select a.type FROM schedule a)
御弟哥哥 2024-12-05 04:56:49

好吧,首先,您可能应该设置一个外键约束,以确保如果表在逻辑上相关,则不会发生删除。请在此处阅读更多信息:http://msdn.microsoft。 com/en-us/library/ms175464(v=SQL.90).aspx

对于删除,您可以这样做:

delete scheduletype 
where type not in (select type from schedule)

Well, first is you should probably set up a foreign key constraint to ensure deletes can't happen if the tables are logically related. Read more here: http://msdn.microsoft.com/en-us/library/ms175464(v=SQL.90).aspx

For the delete, you'd do this:

delete scheduletype 
where type not in (select type from schedule)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文