【发布时间】:2017-05-08 09:08:58
【问题描述】:
我目前正在重构一个设计不佳的数据库,出于完整性目的,我想做的一件事是使某个记录唯一依赖于几个变量。
我使用的表格是报价,有问题的列是报价编号,我需要的是每个公司和集团都是唯一的,所以例如Quote001应该是唯一的,除非有新公司/ 组使用。
因此您可以将Quote001 与company1 和group1 一起使用,但是如果使用company1 和group1 进行新报价,则新报价编号应为Quote002。但是,如果 Company2 和 group1 引用它应该返回到 Quote001。
我不确定如何使用数据库中的约束最有效地实现这一目标。
谢谢, 大卫
【问题讨论】:
-
发布一些具有预期结果的示例数据
-
这根本不是一个答案,但是在所有公司和集团中拥有完全唯一的报价编号有什么问题?这意味着即使您只有一个报价单号,您也可以在不需要其他信息的情况下提取记录。
-
同意@Matthew,只需增加
int值,如果您确实需要在生成的任何文档的开头添加Quote00x。 -
@Madhivanan 我会一起举一些例子
-
@Matthew - 我希望将其分段的原因是因为所讨论的系统是一个 CRM 系统,在各个国家/地区使用(由组确定)每个国家/地区都有单独的访问权限和权限每个只在系统中看到特定公司的客户经理,他们只会看到自己的报价。因此,为什么我希望每个人都有自己的一组报价。
标签: sql sql-server tsql constraints