All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
visual c++中图形设备接口概述
Windows,Apache,PHP,MySQL,搭建_php资料_编程技术
LINQ体验(7)——LINQ,to,SQL语句之Group,ByHaving和Exists_[Asp.Net教程]
ADO.NET链接数据库Command对象应用实例
C#中ToolTip控件应用实例
.Net程序如何防止被注入_[Asp.Net教程]
如何在十天学内会php之第三天_php资料_编程技术
HTML组件HTML COMPONENTS之四_[Html教程]
实战经验:PHP+MySQL数据库论坛简易通_php资料_编程技术
XML语法概述_[XML教程]
Reading number is top 10 pictures
Startling Russian girl blind date scene1
NeedWallpaper14
星星命名法则
住院一星期,检测费两万
2012 national geographic daily picture5
9.3阅兵全景图2-英雄连队梯队和外国方阵梯队
这只猪到底犯了什么错?
Chinese paper-cut grilles art appreciation1
餐桌上的鱼
Sora aoi in China3
Download software ranking
Dance with duck(male prostitution)
The Bermuda triangle1
Tram sex maniac 2 (H) rar bag17
Kung fu panda - the secret of the teacher
超级战舰
White deer villiage
Sora aoi's film--cangkong_Blue.Sky
VeryCD电驴(EasyMule) V1.1.9 Build09081
传奇私服架设教程
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
归海一刀 published in(发表于) 2014/2/3 6:48:03 Edit(编辑)
解析SQL Server中如何得到自动编号字段_[SQL Server教程]

解析SQL Server中如何得到自动编号字段_[SQL Server教程]

解析SQL Server中如何得到自动编号字段_[SQL Server教程]























问:SQL Server 2000中设计表时如何得到自动编号字段?




答:具体步骤如下:




①像Access中的自动编号字段




右键你的表-->设计表-->找到你的id字段(类int型)-->标识-->是-->标识种子(初始值)-->标识递增量-->OK




②用IDENTITY (SEED,INCREMENT)参数




seed -启始值




increment -增量




CREATE TABLE 表名(




你的ID IDENTITY (1, 1) NOT NULL ,你的其他字段... )




CREATE TABLE 表名(




你的字段ID AUTOINCREMENT(1000,10),其他字段... )




③修改起始值和步进值




ALTER TABLE 表名 ALTER COLUMN 你的字段ID COUNTER(2000,50)




④让一个删空的表自动增加字段的开始值重新从1开始




ALTER TABLE 表名 ALTER COLUMN 你的字段ID COUNTER(1,1)




上述3 4只适用与Access,COUNTER为其一种数据类型,可以在Access中指定一不是自动编号的字段为自动编号字段,也可以让一自动编号字段重新从指定值按指定步长自动编号。但是如果表中有数据,用户不能用该语句来将该列的数据类型改变为COUNTER 数据类型。对于SQL Server并不支持。




对于SQL Server我们或许总希望用Alter Table 表名 Alter Column 你的字段 IDENTITY(1,1)




来指定字段重新从1开始计数,但是这句话本身是错误的,好长时间我也疑惑为什么这句话不能执行。如果我们看看MS 对Alter Table语句的定义就清楚了,这句话根本是错误的。下面是MS对Alter Table语句的定义。




ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ < table_constraint > } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] }
}
< column_definition > ::=
{ column_name data_type }
[ [ DEFAULT constant_expression ] [ WITH VALUES ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL ]
[ COLLATE < collation_name > ]
[ < column_constraint > ] [ ...n ]
< column_constraint > ::=
[ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}
< table_constraint > ::=
[ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ,...n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| FOREIGN KEY
[ ( column [ ,...n ] ) ]
REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
| DEFAULT constant_expression
[ FOR column ] [ WITH VALUES ]
| CHECK [ NOT FOR REPLICATION ]
( search_conditions )
}




可以看到,IDENTITY只是在< column_definition >中,也就是说,我们可以这样使用




Alter Table 表名 Add 字段名 Int IDENTITY(1,1)




即,我们可以增加一个字段并指定它为自动编号字段。但是不能更改一个字段为自动编号字段(也或许我没找到方法)。即,如果我们想给表增加自动编号字段,只能使用添加字段的方法,而不能更改一个已有的字段为自动编号字段。




至于如果需要更改自动编号字段计数起始值可以使用DBCC命令:




DBCC CHECKIDENT (表名,RESEED,100)




自动编号字段下一个从101开始计。









































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.