您的位置:首页 > 数据库

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

2014-05-14 18:39 501 查看
在SQL SERVER 中如果我们想要使主键按照一定规则自动增长我们可以这样做:



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

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

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

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

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

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

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

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

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



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

结果如下:



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

欢迎各位提出意见.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: