借助SQL游标,可以轻松解决SQL查询全表的问题。下面就为您介绍该SQL游标的写法,供您参考,希望对您学习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') --数据类型为字符型的字段
 - ) --第二个游标是***个游标的嵌套游标,遍历某个表的所有字段
 - 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
 
【编辑推荐】
如何给SQL查询添加合计行
巧用sql替换语句
SQL替换语句语法说明
sql条件语句使用实例
SQL Where子句的妙用