- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql标示列
SQL标识列
2009年04月20日 下午 04:42
一、标识列的定义以及特点
SQL Server中的标识列又称标识符列,习惯上又叫自增列。该种列具有以下三种特点:
1、列的数据类型为不带小数的数值类型2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。
由于以上特点,使得标识列在数据库的设计中得到广泛的使用。
二、标识列的组成创建一个标识列,通常要指定三个内容:1、类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:decimal、int、numeric、smallint、bigint 、tinyint 其中要注意的是,当选择decimal和numeric时,小数位数必须为零另外还要注意每种数据类型所有表示的数值范围
2、种子(seed)是指派给表中第一行的值,默认为1
3、递增量(increment)相邻两个标识值之间的增量,默认为1。
三、标识列的创建与修改标识列的创建与修改,通常在企业管理器和用Transact-SQL语句都可实现,使用企业管理管理器比较简单,请参考SQL Server的联机帮助,这
里只讨论使用Transact-SQL的方法
1、创建表时指定标识列标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列CREATE TABLE T_test(ID int IDENTITY(1,1),Name varchar(50))
2、在现有表中添加标识列下面的例子向表T_test中添加一个名为ID,类型为int,种子为1,递增量为1的标识列--创建表CREATE TABLE T_test(Name varchar(50))
--插入数据INSERT T_test(Name) VALUES(张三)
--增加标识列ALTER TABLE T_testADD ID int IDENTITY(1,1)
3、判段一个表是否具有标识列
可以使用 OBJECTPROPERTY 函数确定一个表是否具有 IDENTITY(标识)列,用法:Select OBJECTPROPERTY(OBJECT_ID(表名),TableHasIdentity)如果有,则返回1,否则返回0
4、判断某列是否是标识列
可使用 COLUMNPROPERTY 函数确定 某列是否具有IDENTITY 属性,用法SELECT COLUMNPROPERTY( OBJECT_ID(表名),列名,IsIdentity)如果该列为标识列,则返回1,否则返回0
4、查询某表标识列的列名SQL Server中没有现成的函数实现此功能,实现的SQL语句如下SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns?? WHERE TABLE_NAME=表名 AND COLUMNPROPERTY(????? ????? OBJECT_ID(表名),COLUMN_NAME,IsIdentity)=1
5、标识列的引用
如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替例如,若要查询上例中ID等于1的行,以下两条查询语句是等价的SELECT * FROM T_test WHERE IDENTITYCOL=1SELECT * FROM T_test WHERE ID=1
6、获取标识列的种子值
可使用函数IDENT_SEED,用法:SELECT IDENT_SEED (表名)
7、获取标识列的递增量
可使用函数IDENT_INCR ,用法:SELECT IDENT_INCR(表名)
8、获取指定表中最后生成的标识值
可使用函数IDENT_CURRENT,用法:SELECT IDENT_CURRENT(表名) 注意事项:当包含标识列的表刚刚创建,为经过任何插入操作时,使用IDENT_CURRENT函数得到的值为标识列的种子值,这一点在开发数据库应用程序的时候尤其应该注意。
您可能关注的文档
- N6_计算机联锁控制系统原理-软件原理.ppt
- N70连接电脑上网也疯狂.doc
- Mercedes-benz发展史.ppt
- nano measurer1.2_imagetool3.0和imagej粒径面积图像分析软件使用方法分布计算的测量方法.pdf
- NE40E升级后由于版本默认域差异导致hwtacacs认证不成功案例--王韦.doc
- NA1-1000万能式空气断路器.pdf
- NGO中国本土化问题和对策.doc
- NFJ金属骨料砂浆.doc
- nature nanotechnology变C60为石墨烯量子点.pdf
- Ni掺杂ZnO晶体结构和红外光谱特性的研究.pdf
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)