gpt4 book ai didi

c# - 使用 Datalist C# 从 SQL Server 2008 中删除多个表

转载 作者:行者123 更新时间:2023-11-30 21:08:33 24 4
gpt4 key购买 nike

这似乎是一个常见问题,但我用谷歌搜索找到了可以解决我的问题的正确答案,但没有找到。

我有多个表通过 ProductID 相互连接当主表中的产品被删除时,我希望从中删除所有数据。即

产品:ProductID - Vender - Description

产品评级:ProductID - Rating - VisitorsCount

产品评论:ProductID - VisitorName - Comment

我读到在这种情况下使用 SQL 触发器,但我对此一无所知,除了在某些情况下我可能会在 ASCX.CS 文件中提及我的数据源,在某些情况下我可能只是使用 SqlDatasoruce在 ASCX 文件中。有没有可以使用的查询或存储过程?

最佳答案

最简单的方法是实现与 ProductID 的外键关系,并设置 on delete cascade。这是一个总体思路:

create table ProductRatings
(
ProductID int not null
foreign key references Products(ProductID) on delete cascade,
Rating int not null,
VisitorsCount int not null
)

当您从 Products 表中删除一个主键值时,SQL Server 会删除所有对该主键值具有外键约束的记录。如果您对 ProductComments 表也这样做,问题就解决了。无需对引用表中的任何记录显式调用 DELETE

如果您没有使用参照完整性……您应该。

EDIT:这也适用于主键上的 UPDATE。您只需要指定on update cascade,外键引用将像主键一样更新以确保RI。

关于c# - 使用 Datalist C# 从 SQL Server 2008 中删除多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com