Sql Server 主键由字母数字组成并按照数字自动增长

   在SQL SERVER 中如果我们想要使主键按照一定规则自动增长我们可以这样做:

     

          这里我们新建一张研究表,里面有研究ID,研究人员姓名和研究医院.

           我们使SicentificId 设为主键 并且从1开始每次递加1.

         这里要更各位强调一下使用Identity 关键字的前提要求是 数据类型必须为 int ,decimal,bigint,smallint等数值类型.

         但是很多时候只有一个数字编号并不能满足我们的要求, 这里笔者的需求就是编号要按照字母加数字的组合,并且字母固定且数字每次递增1.

         那么我们该怎么做呢?本来我以为可以直接用数据库约束来做,但是尝试很多次都失败了.

         现在如果要满足要求就需要对数据库表做一下修该。

       我们把ScientificA 表的ScientificId 的数据类型改为varchar(15).

      然而我们如何来保证数据ID按照一定的规则自增呢,首先我们的字母前缀是固定的,这里使用'yanjiu' 作为字母前缀。例如这样 'yanjiu100000'   。

     下一个ID 就应该是'yanjiu100001' ,为达到我们的构想,只使用一条sql 语句是不能实现的,我们需要来编写多条.

         

        这里是笔者写的sql 语句,可以满足要求。

        结果如下:

       

      有需要的朋友可以参考下,也可以按照需求改为存储过程,触发器等.

    欢迎各位提出意见.

每一天,为明天
原文地址:https://www.cnblogs.com/wolferfeng/p/3728469.html