SQLserver中idendity的妙用

假设:现在有产品信息需要入库,要给每个产品按找预定的规则进行编号,编号规则如下:

产品编码:6位产品类型码+1位仓库码+2位年份+5位顺序码(要求从00001开始自增)

6位产品类型码:P00001

仓库码:1

例子:P0000111500001

看似复杂,但是其实很简单,只需要恰当的使用一下identity即可。

--=========================================--
--Create table
Create Table PriductionInfo
(
    id                  int identity(1,1),
    ProductionCode AS 'P00001'+'1'+SUBSTRING(CONVERT(VARCHAR,GETDATE(),111),3,2)+RIGHT( REPLICATE('0', 5) + Cast(id as varchar), 5),--产品14位编码 
    ProductionName varchar(100)
)
--插入数据进行测试
insert into PriductionInfo select '产品A'

--查看生成的产品编号
SELECT * FROM PriductionInfo

通过查询,得到的数据如下:

posted @ 2015-11-25 15:52  OLIVER_QIN  阅读(362)  评论(0编辑  收藏  举报