1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| DBCC FREEPROCCACHE DECLARE @couName int, @tableName NVARCHAR(50),@sql NVARCHAR(150),@sql1 NVARCHAR(200) DECLARE cur CURSOR static
FOR select Name From SysObjects Where xtype='U'; OPEN cur FETCH NEXT FROM cur INTO @tableName WHILE ( @@fetch_status = 0 ) BEGIN set @sql ='select @couName = COUNT(*) from dbo.sysobjects where xtype=''PK'' and parent_obj=(select id from dbo.sysobjects where name=@tableName )'; EXEC sp_executesql @sql,N'@couName int output, @tableName NVARCHAR(50)' ,@couName output, @tableName; select @tableName as "表名" if(@couName > 0) BEGIN select @tableName as 表名,@couName as 主键 END else BEGIN if(@tableName != 'wmanage' and @tableName != 'strategy' and @tableName !='strain_para') begin print('ALTER TABLE "'+ @tableName+ '" ADD pk_id int NOT NULL IDENTITY (1,1), CONSTRAINT PK_'+@tableName+' PRIMARY KEY CLUSTERED (pk_id)') exec('ALTER TABLE "'+ @tableName+ '" ADD pk_id int NOT NULL IDENTITY (1,1), CONSTRAINT "PK_'+@tableName+'" PRIMARY KEY CLUSTERED (pk_id)') end END FETCH NEXT FROM cur INTO @tableName END CLOSE cur DEALLOCATE cur
|