2010-03-08 49 views
0

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

任何建议将不胜感激。

谢谢。 Rusty

+0

建议:告诉你的DBMS是什么。有些问题具有DBMS特定的解决方案,非常方便。 – 2010-03-08 16:08:35

回答

1

触发器。不管怎样,不要使用这些作为主键 - 在SQL Server上,你只需要休眠一下。

把正常的身份列作为PK,然后用它作为正常的业务属性(它的唯一索引)。

无论你喜欢什么,你都可以通过触发器,存储过程生成它们。预生成,后生。随你喜欢。

1

如果你可以处理不可避免的从回滚等丢失的数字,如果你只需要每个表的一个前缀,我建议一个标识列(创建数字)和一个计算列来添加字母和前导零身份。如果比这更复杂,我建议一个触发器。这不应该由应用程序只处理,或者你最终将有记录,有人必须手动输入,搞砸了。你还需要处理竞赛条件,所以仔细设计。