教您使用SQL游标解决查询全表问题

复制Create procedure Full_Search(@string varchar(100)) as begin declare @tbname varchar(100) declare tbroy cursor for select name from sysobjects where xtype=u --***个游标遍历所有的教使解决表 open tbroy fetch next from tbroy into @tbname while @@fetch_status=0 begin declare @colname varchar(100) declare colroy cursor for select name from syscolumns where id=object_id(@tbname) and xtype in ( select xtype from systypes where name in (varchar,nvarchar,char,nchar) --数据类型为字符型的字段 ) --第二个游标是IT技术网***个游标的嵌套游标,源码下载遍历某个表的用S游标所有字段 open colroy fetch next from colroy into @colname while @@fetch_status=0 begin declare @sql nvarchar(4000),@j int select @sql=select @i=count(1) from +quotename(@tbname) + where + quotename(@colname)+ like +%+@string+% exec sp_executesql @sql,N@i int output,@i=@j output --输出满足条件表的亿华云记录数 if @j>0 begin declare @v varchar(8000) set @v=select distinct +quotename(@colname)+ from +quotename(@tbname) + where + quotename(@colname)+ like +%+@string+% exec(@v) end fetch next from colroy into @colname end close colroy deallocate colroy fetch next from tbroy into @tbname end close tbroy deallocate tbroy end exec Full_Search 市场 drop proc Full_Search 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.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.