【发布时间】:2019-11-25 09:54:53
【问题描述】:
我有两个表:Items 和 Defects。
每个缺陷都与一个(并且只有一个)项目有关。
Items 的 PK 是一个标识列 (ItemID),它在 Defects 中显示为 FK 列,用于关联两个表。
缺陷的 PK 是一个标识列 (DefectID)。
不过,Defects 中还有一个名为 RefNo 的从属数字键,它必须由 每个 ItemID 的序列号填充,因此:
缺陷
DefectID ItemID RefNo
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 3 1
7 4 1
8 3 2
9 1 4
填充 Ref 列的最佳方法是什么?
目前我继承的代码在前端完成了这个,这显然是一个坏主意。
我开始编写插入触发器 (SQL Server 2008-R2),但想知道原子性和调用触发器时可能更新多行的需要 - 以及不同用户尝试同时插入的可能性插入相同的 RefNo。
[编辑]
我正在维护一个现有的数据库并删除 RefNo 列并用动态计算的值重新调整它不是一种选择。
【问题讨论】:
标签: sql-server sql-server-2008-r2