你的位置:首页 > 数据库

[数据库]SQL Server 2008 R2——使用计算列为表创建自定义的自增列


=================================版权声明=================================

版权声明:原创文章 谢绝转载 

请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我

勿用于学术性引用。

勿用于商业出版、商业印刷、商业引用以及其他商业用途。                   

 

本文不定期修正完善。

本文链接:http://www.cnblogs.com/wlsandwho/p/5075789.html

耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html

=======================================================================

没啥说的,鄙视那些无视版权随意抓取博文的爬虫小网站站长。

=======================================================================

自增列我很少用,因为我觉得虽然插入数据的时候很方便,但是在一些特殊情况下会很麻烦。

但是最近企鹅群里有人要这个,如图。

“每过一年从001开始”这里我没实现,这需要在计算列中调用自定义函数或者其他的什么东西来实现“NNN”的计数。我这里只是简单的用一个自增INT来代替。

(其实既然已经采用了“yyyymmddhhmmssNNN”这种奇葩的格式,新年是不是从001开始已经不重要了。)

一看这就是拍大腿想出来的表结构。

如果一直拦着想作死的青年,他就不会知道自己的行为有多可怕。可以的话还是让他作一回死吧。

=======================================================================

上代码。

 1 --by WLS 2 --网络代码有风险 3 --复制粘贴须谨慎 4 USE tempdb 5 GO 6  7 IF OBJECT_ID('t_TestbyWLS','U') IS NOT NULL 8 DROP TABLE t_TestbyWLS 9 GO10 11 CREATE TABLE t_TestbyWLS(DumyId INT IDENTITY(1,1),12             SN AS (REPLACE(replace(replace(convert(NVARCHAR,getdate(),120),'-',''),' ',''),':','')+RIGHT('00'+CAST(DumyId AS NVARCHAR),3)),13             Name NVARCHAR(50))14 GO15 16 INSERT INTO t_TestbyWLS(Name) VALUES('thbytwo')17 INSERT INTO t_TestbyWLS(Name) VALUES('wlsandwho')18 INSERT INTO t_TestbyWLS(Name) VALUES('shawbytwo')19 INSERT INTO t_TestbyWLS(Name) VALUES('wls')20 INSERT INTO t_TestbyWLS(Name) VALUES('No zuo no die,why you try!')21 GO22 SELECT * FROM  t_TestbyWLS23 GO

=======================================================================

DumyId列作为辅助字段。效果图:

=======================================================================

也没什么原理好讲的,都是手册上的东西。

还是对文中代码的知识点做个截图吧。

1 不能使用DEFAULT:

=======================================================================

写“SQL Server 2008 R2——XXXXX”这个系列的目的有2个:

1 回答群内新手和部分伸手党的问题,顺便练手,以后再有人问就可以让他自己看链接。

2 某些问题在网上比较难找资料,或者找到的资料不靠谱(跟风转载不加验证),亦或者该问题根本就找不到资料,这个系列算是填坑的。

=======================================================================

现在的年轻人真是越来越浮躁了。
好吧,这就是你们一直想要的东西,拿好。

=======================================================================

(友情支持请扫描这个)

微信扫描上方二维码捐赠