【发布时间】:2019-03-18 16:17:18
【问题描述】:
假设我有 tbl1、tbl2 和 tbl3,这就是它们的样子
tbl1
UnitID PK
SomeField varchar
SomeField2 varchar
tbl2
UnitID PK
ServiceID PK
SomeField3 varchar
tbl3
UnitID PK
ChangeID PK
SomeField4 varchar
所以我的简单应用中有三个表格。由于一些限制,需要将数据拆分到多个表中
用户将在 tbl1 中输入 UnitID 值,然后他们将添加额外的数据,这些数据将存储在 tbl2 和 tbl3 中,具有相同的 UnitID 和他们自己对应的 PK(ServiceID、ChangeID)。
我想看看是否可以完成的是,如果我从 tbl1 中删除一个值,比如 UnitID=2,我是否能够自动删除具有相同 UnitID 的 tbl2 和 tbl3 中的所有对应值?还是我基本上必须对每个表都有一个删除语句?
我发现doc 指的是删除外键关系,但它表明它正在启动 SQL 2016,我正在使用 SSMS 2012。
这样的事情可能吗?我问的原因是因为这是我的表的一个非常简化的视图,我实际上将有大约 20 个表,并且有时我需要从我的应用程序中的每个表中删除该 UnitID。我正在尝试使代码尽可能高效。
应用程序使用 Asp.Net 和 VB.NET 编码
我明白我可以简单地做
Delete * from tbl1 where UnitID=2
Delete * from tbl2 where UnitID=2
但这似乎很乏味。任何帮助将不胜感激。谢谢。
【问题讨论】: