SQL Server +在SQL中增加非主键字段

时间:2011-11-28 09:01:08

标签: sql

我有一个非主键TicketNo。我的SQL服务器数据库中的字段,其格式是固定的但包含不同的格式,例如Vou001..Vou002,TKO001 ... TKO002。对于每个进入的记录,我需要增加最后一个。因此,在TKO004为TKO005之后,Vou002之后的记录为Vou003。如何在不使用某种记录计数方法的情况下执行此任务。由于该表将由不同种类的TicketNo格式组成,因此我认为无法获取最后一个表值并添加它。请善意的建议。感谢。

2 个答案:

答案 0 :(得分:2)

此处的每个代码由1部分组成:前缀(VouTKP等)和数字。

  • 可以通过序列仿真(或直接在SQL Server 2012中)生成数字
  • 在写入表格
  • 之前,前缀可以单独存储或附加到序列中

即使使用锁定提示,使用任何类型的MAX或“自己滚动”对于2个并发/重叠调用也不会是并发安全的。这些也会降低性能。

此DBA.SE问题显示如何在SQL Server中模拟序列:https://dba.stackexchange.com/questions/3307/emulate-a-tsql-sequence-via-a-stored-procedure

答案 1 :(得分:1)

我建议你看看这里,问题不完全相同,但我想这是一个好的开始:How do I add string with auto increment value in SQL Server?