我的SQLServer中有一张表。当前,我正在使用标识列来唯一地标识每条记录,但是我不断变化的需求需要以某种格式(由客户指定)生成的唯一键。我试图通过将唯一的整数(每次插入都会增加)添加到指定的格式,从而从我的应用程序中生成唯一键,我的客户对当前的解决方案不满意。如果我能被引导到一种更好的技术来解决我的问题,而不是当前的解决方案,那将是很好的。
格式如下:
PRN-YEAR-MyAppGeneratedInt
基本上,保留当前identity列。这是 您 识别和管理表中行的最佳方法。
identity
如果客户端需要另一个唯一密钥,则添加它。据推测,它将是一个字符串(假设它具有“格式”)。您可以将密钥创建为生成的列。或者,您可能需要使用触发器来计算它。
通常,即使最终用户从未看到过整数,标识列也最好使用整数。这里有一些优点: