declare @name varchar(100) DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT Name FROM Master..SysDatabases where name NOT IN (‘master‘,‘model‘,‘msdb‘,‘tempdb‘) ) --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN if exists(select 1 from sysobjects where xtype=‘u‘ and name like ‘%qq%‘) select name from sysobjects where xtype=‘u‘ and name like ‘%qq%‘ FETCH NEXT FROM My_Cursor INTO @name END CLOSE MY_CURSOR DEALLOCATE My_Cursor
其中QQ可以替换成自己想要的条件哦
PS:有问题改了下还是不行,有知道的人吗?
declare @name varchar(100) declare @sql varchar(100) DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT Name FROM Master..SysDatabases where name NOT IN (‘master‘,‘model‘,‘msdb‘,‘tempdb‘,‘ReportServer‘,‘ReportServerTempDB‘) ) --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN select @sql=‘use ‘+@name EXEC sp_sqlexec @Sql --select @name from Master..SysDatabases --if exists(select 1 from sysobjects where xtype=‘u‘ )-- select * from sysobjects where xtype=‘u‘-- and name like ‘%sys%‘ FETCH NEXT FROM My_Cursor INTO @name END CLOSE MY_CURSOR DEALLOCATE My_Cursor
原文:http://www.cnblogs.com/kmsfan/p/5239572.html