如何给数据库自增ID定义规定格式
2013-07-26 14:56
357 查看
在学习中遇到这个问题 数据库里有编号字段 BH00001 BH00002 BH00003 BH00004 如何实现自动增长 --下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。 --得到新编号的函数 CREATE FUNCTION f_NextBH() RETURNS char(8) AS BEGIN RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK)) END GO --在表中应用函数 CREATE TABLE tb( BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(), col int) --插入资料 BEGIN TRAN INSERT tb(col) VALUES(1) INSERT tb(col) VALUES(2) INSERT tb(col) VALUES(3) DELETE tb WHERE col=3 INSERT tb(col) VALUES(4) INSERT tb(BH,col) VALUES(dbo.f_NextBH(),14) COMMIT TRAN --显示结果 SELECT * FROM tb /*--结果 BH col ---------------- ----------- BH000001 1 BH000002 2 BH000003 4 BH000004 14 --*/ create table tb (id int identity, name varchar(10), code as 'BH'+right('0000'+cast(id as varchar),5)) go insert tb(name) select 'A' union all select 'B' union all select 'C' union all select 'D' select * from tb drop table tb /* id name code ----------- ---------- ------------ 1 A BH00001 2 B BH00002 3 C BH00003 4 D BH00004 (所影响的行数为 4 行) */ --参考
相关文章推荐
- 如何把数据库中定义的状态(如:已确认 1、未确认 0)按指定格式显示在DataGrid中的状态列里
- 如何将RichTextBox中的RTF格式的文档以二进制形式存入数据库中??
- 存储到数据库的文章如何保留原有格式
- 86.如何将数据库中的CLOB格式输出到JSP页面
- 如何使数据库中取出的数据保持原有格式
- 如何保持数据库输出格式不变
- 如何把其他数据库中AUTO_INCREMENT约束的字段(如ID)导入Vertica数据库
- 如何向数据库添加时同时返回ID
- PHP_VERSION_ID是如何定义的
- 如何用sql语言只获得数据库当前日期,且格式为"yyyy-mm-dd"?
- 写了一个数据库的连继ID号(格式:xxxx000001)
- MySQL外键:数据库新手入门之MySQL中如何定义外键(转)
- 存储到数据库的文章如何保留原有格式
- 如何随机获取数据库不连续ID的数据?
- Django如何把数据库里的html格式输出到前端
- MySQL外键:数据库新手入门之MySQL中如何定义外键
- JSP中如何取得MSSQL数据库表中自动增长的ID主键值?
- 如何使数据库中取出的数据保持原有格式(转)
- 存储到数据库的文章如何保留原有格式
- 如何保证在浏览器端打开文件(word格式),保存时仍能够进入原数据库!