【发布时间】:2016-10-03 19:54:18
【问题描述】:
基本上假设我有一个“企业”,它拥有它所服务的邮政编码。我们还假设我有另一个设置费用的关系表。
CREATE TABLE [dbo].[BusinessPostalCodes]
(
[BusinessPostalCodeId] INT IDENTITY (1, 1) NOT NULL,
[BusinessId] INT NOT NULL,
[PostalCode] VARCHAR (10) NOT NULL
)
CREATE TABLE [dbo].[BusinessPostalCodeFees]
(
[BusinessId] INT NOT NULL,
[BusinessProfileFeeTypeId] INT NOT NULL,
[BusinessPostalCodeId] INT NOT NULL,
[Fee] SMALLMONEY NULL
)
我想知道是否可以在BusinessPostalCodeFees 上设置一个外键(或其他东西),以确保BusinessPostalCodes 的相关BusinessId 与BusinessPostalCodeFees 的BusinessId 相同。
我意识到我可以完全删除 BusinessId,但我更愿意保留此专栏并有办法保证它们是相同的。有什么我可以做的吗?
【问题讨论】:
-
在触发器中编写逻辑并回滚违反规则的事务
-
@techspider 感谢您的提示,但我认为检查约束在这里非常有效。
标签: sql-server tsql foreign-key-relationship