1.
select ident_current('表名')
2.
if exists(slect 1 from syscolumns where object_id('你的表')=id and status=0x80)
print '有标识列'
else
print '无'
3.
或者用COLUMNPROPERTY测试某列是否为标识列:
COLUMNPROPERTY
返回有关列或过程参数的信息。
语法
COLUMNPROPERTY ( id , column , property )
参数
id
一个表达式,其中包含表或过程标识符 (ID)。
column
一个表达式,其中包含列或参数名称。
property
一个表达式,其中包含要为 id 返回的信息。该表达式可以取下列这些值中的任意一个。
值 描述 返回的值
AllowsNull 允许空值。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsComputed 该列为计算列。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsCursorType 过程参数属于CURSOR 类型。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsDeterministic 该列具有确定性。该属性只适用于计算列和视图列。 1 = TRUE
0 = FALSE
NULL = 无效的输入不是计算列或视图列。
IsFulltextIndexed 该列已经注册为全文索引。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsIdentity 该列使用IDENTITY 属性。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsIdNotForRepl 该列检查IDENTITY_INSERT 设置。如果指定了IDENTITY NOT FOR REPLICATION,则不检查IDENTITY_INSERT 设置。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsIndexable 该列可进行索引。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsOutParam 该过程参数为输出参数。 1 = TRUE
0 = FALSE
NULL = 无效的输入
IsPrecise 该列是精确的。该属性只适用于具有确定性的列。 1 = TRUE
0 = FALSE
NULL = 无效的输入不是具有确定性的列。
IsRowGuidCol 该列具有 uniqueidentifier 数据类型并且使用ROWGUIDCOL 属性进行定义。 1 = TRUE
0 = FALSE
NULL = 无效的输入
Precision 列或参数的数据类型的精度。 指定的列数据类型的精度
NULL = 无效的输入
Scale 列或参数的数据类型的小数位数。 小数位数
NULL = 无效的输入
UsesAnsiTrim 当开始创建表时,ANSI 填充设置为 ON。 1 = TRUE
0 = FALSE
NULL = 无效的输入