求教下,SqlServer怎么实现生成自定义主键,要求是0-9、a-z一共36个字符,类似于这样USER0000001,USER0000002。。。USER000000Z、USER0000010、USER0000011。。。一直到理想中最大值USERZZZZZZZ,请教下大佬,这个存储过程怎么实现啊
现成的不用想了
0...00000
...
0...0000Z
取最大值+1,转为36进制数,左补0。
其实你的是可以理解成36进制转换问题;类似于大家熟悉的16进制;
https://www.cnblogs.com/gaizai/p/4001016.html
非常感谢您,完美的解决了我的问题
代码里生成之后赋值.
您好,可能是我表述不是很清楚,我是想知道在sqlserver怎么实现按这样规则生成主键,需要写存储过程实现,但是我的实现比较麻烦,想看下博客园的大佬有没有简单点的方法
楼主这是自定义主键,这种的话,肯定需要自己写代码实现,想生成什么样的都成。
对的,我就是想在sqlserver里面实现,代码里插入的时候在赋值,请教下这个用存储过程实现有简单的方法吗
@日行二善: 这个根本不需要存储过程实现,你只需要定义一个变量就成,每次insert一行数据,就递增,然后,'USER'和这个变量拼起来就成。你这里的数字从1~z,倒不是不能实现,就是不太方便,用纯数字更好些。另外,如果你非要用存储过程,那就得传进前一个值,返回最新值,这个用函数实现比较方便。