0

我正在寻找有关如何让数据库为 varchar 列自动生成票号(最好是通过 SQL 数据库)的建议。我在数据库中有以下表格:活动和案例,并且希望格式为“Act000001”或“Cse000001”。这将类似于标识列属性。

任何建议将不胜感激。

谢谢。生锈的

4

2 回答 2

1

扳机。

无论如何,不​​要将其用作主键 - 在 SQL Server 上,您只会受到巨大的性能影响。

放入一个普通的标识列作为 PK,然后将其用作普通的业务属性(其上的唯一索引)。

您可以通过触发器、存储过程等任何您喜欢的方式生成它们。前生,后生。随你喜欢。

于 2010-03-08T15:51:12.840 回答
1

如果您可以处理回滚等不可避免的丢失数字,并且每个表只需要一个前缀,我建议使用一个标识列(用于创建数字)和一个计算列来将字母和前导零添加到标识中。如果比这更复杂,我建议使用触发器。这不应该仅由应用程序处理,否则您最终将有一些人必须手动输入的记录被弄乱了。您还需要处理竞争条件,因此请仔细设计。

于 2010-03-08T15:55:28.667 回答