博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server 标识列
阅读量:4204 次
发布时间:2019-05-26

本文共 1026 字,大约阅读时间需要 3 分钟。

原文地址:http://www.codesky.net/article/201010/144625.html

删除表内所有值并重置标识值

TRUNCATE TABLE TableName

保持表内容并重置标识列SEED

DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)
DBCC CHECKIDENT ("bc_pos",RESEED,1),如果表内有数据,而重设值小于最大值,可能会出现问题,可以用DBCC CHECKIDENT("bc_pos",RESEED)自动重设值。

判段一个表是否具有SQL server标识列

可以使用OBJECTPROPERTY函数确定一个表是否具有IDENTITY列。
SELECT OBJECTPROPERTY(OBJECT_ID('表名'),'Table HAS Identity')
如果有,返回1,否则返回0。

判断某列是否是标识列

可以使用COLUMNPROPERTY函数确定某列是否具有IDENTITY属性。
SELECT COLUMNPROPERTY(OBJECT_ID('表名'),'列名','IsIdentity')
如果该列为标识列,返回1,否则返回0。

查询某表标识列的列名

SQL Server中没有现成的函数实现此功能,实现的SQL语句如下:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns
WHERE TABLE_NAME='表名' AND COLUMNPROPERTY(OBJECT_ID('表名'),COLUMN_NAME,'IsIdentity')=1

标识列的引用

如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替。
例如,要查询ID等于1的行,以下两条查询语句是等价的:
SELECT * FROM T_test WHERE IDENTITYCOL=1
SELECT * FROM T_test WHERE ID=1

获取标识列种子值

SELECT IDENT_SEED('表名')

获取标识列的递增量

SELECT IDENT_INCR('表名')

获取指定表中最后生成的标识值

SELECT IDENT_CURRENT('表名') 
当包含标识列的表刚刚创建,未经过任何插入操作时,使用IDENT_CURRENT函数得到的值为标识列的种子值。

转载地址:http://lpsli.baihongyu.com/

你可能感兴趣的文章
【ReactNative】真机上无法调试 could not connect to development server
查看>>
【XCode 4.6】常用快捷键 特别是格式化代码ctrl+i
查看>>
【iOS游戏开发】icon那点事 之 实际应用(二)
查看>>
【iOS游戏开发】icon那点事 之 图标设计(三)
查看>>
【IOS游戏开发】之测试发布(Distribution)
查看>>
【IOS游戏开发】之IPA破解原理
查看>>
【一天一道LeetCode】#45. Jump Game II
查看>>
【一天一道LeetCode】#46. Permutations
查看>>
【一天一道LeetCode】#47. Permutations II
查看>>
【一天一道LeetCode】#48. Rotate Image
查看>>
【一天一道LeetCode】#56. Merge Intervals
查看>>
【一天一道LeetCode】#57. Insert Interval
查看>>
【一天一道LeetCode】#58. Length of Last Word
查看>>
【一天一道LeetCode】#59. Spiral Matrix II
查看>>
【一天一道LeetCode】#30. Substring with Concatenation of All Words
查看>>
【一天一道LeetCode】#60. Permutation Sequence.
查看>>
【一天一道LeetCode】#62. Unique Paths
查看>>
【一天一道LeetCode】#61. Rotate List
查看>>
【一天一道LeetCode】#63. Unique Paths II
查看>>
【一天一道LeetCode】#36. Valid Sudoku
查看>>