Sql server 每次更新时删除表中的记录

Sql server 每次更新时删除表中的记录,sql-server,Sql Server,有三张桌子 Table 1 - 1 Review details record inserted Table 2 - 2 Services records for each Review inserted Table 3 - 2 Medical details records for each service inserted 下面发生的更新是来自XML的更新数据 Table 1 - 1 Review record Table 2 - 1 Service record for the

有三张桌子

Table 1 - 1 Review  details record inserted
Table 2 - 2 Services  records for each Review inserted
Table 3 - 2 Medical details records for each service inserted
下面发生的更新是来自XML的更新数据

Table 1 - 1  Review record 
Table 2 - 1 Service record for the review
Table 3 - 2 Medical record for the service
在这个更新场景中,我删除了表2和表3记录中的服务和医疗记录,并插入更新的记录

如果我继续这样做,表2和表3中的标识列限制是否会超过


注意:所有详细信息都是以XML的形式传入的,我们在XML中没有特定的SERVICEID或MedicalCodeID。

我读到的唯一问题是:

如果我继续这样做,表2和表3中的标识列限制是否会超过

答:视情况而定,但由于缺乏细节,我们不知道

它取决于标识列类型、要删除的记录数以及执行删除操作的频率

示例1:如果标识列的类型为
smallint
(最大值为32767),并且您每天删除一条记录,那么您将在近90年内不会用完值


示例2:如果您使用的是类型
bigint
(最大值为9223372036854775807),那么您每天可以删除数百万条记录,并且仍然不必担心记录会用尽。

每次插入记录时,标识都会自动递增。因此,即使稍后删除记录,标识也不会自动重新设定种子。相反,您可以手动执行

即使由于某些数据相关问题导致插入失败,标识也将增加

假设我将这些记录插入到一个表中,该表的标识列5具有下一个值。因此,该列的下一个值将是5。假设我的数据在第一次尝试时被截断,我修复了问题并重新插入了数据,那么下一个值将是6(即使没有值5的记录)


它将递增,直到达到数据类型允许的限制

很抱歉,我不清楚这个问题,格式也没有帮助。请改进格式,并更好地解释您的问题。添加说明问题的代码片段当然也会有所帮助。