如何读取数据的所有用户表

Declare @iCount int,@familyTableName varchar(50),@Sql varchar(3000)

Declare @tempTable Table(familyTableName varchar(50) primary key(familyTableName))

Insert @tempTable(familyTableName)

Select Distinct sysobj.name From dbo.sysobjects sysobj where sysobj.xtype='U'

Set @iCount=@@RowCount

While @iCount>0

Begin

Select Top 1 @familyTableName=familyTableName From @tempTable

Set @Sql='if not exists(select 1 from syscolumns where id=object_id('''+@familyTableName+''') and name=''AuditID'') begin'

Set @Sql=@Sql+' alter table '+@familyTableName+' add AuditID int identity(1,1) not null'

Set @Sql=@Sql+' ALTER TABLE [dbo].['+@familyTableName+'] WITH NOCHECK ADD '

Set @Sql=@Sql+'CONSTRAINT [PK_'+@familyTableName+'] PRIMARY KEY NONCLUSTERED'

Set @Sql=@Sql+'(AuditID ASC) ON [PRIMARY] end'

Exec(@Sql)

Delete From @tempTable Where familyTableName=@familyTableName

Set @iCount=@iCount-1

End

原文地址:https://www.cnblogs.com/lfzwenzhu/p/1511081.html