--查询数据库中有标识列的表
declare
@TableName varchar(500),@result int
set @TableName=''
set @result=0
DECLARE my_cursor CURSOR FOR
select distinct o.name from sysobjects o left join sysindexes i
on o.id =i.id
where o.type='u'
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
Select @result= OBJECTPROPERTY(OBJECT_ID(@TableName),'TableHasIdentity')
if @result=1
select @TableName
FETCH NEXT FROM my_cursor INTO @TableName
END
CLOSE my_cursor
DEALLOCATE my_cursor