日期:2011-01-25 23:11:00 来源:本站整理
sql遍历全部表中某项值为已知数的查询办法[MSSQL防范]
本文“sql遍历全部表中某项值为已知数的查询办法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
下面将为您介绍sql遍历全部表中某项值为已知数的查询语句写法,供您参考,假如您对sql遍历方面感爱好的话,无妨一看,但愿对您有所帮忙.
- CREATE proc Full_Search(@string varchar(50))
- as
- begin
- declare @tbname varchar(50)
- 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(50)
- 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(1000),@j int
- select @sql= 'select @i=count(1) from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%'''
- exec sp_executesql @sql,N'@i int output',@i=@j output --输出满意条件表的记录数
- if @j> 0
- BEGIN
- select 包含字串的表名=@tbname
- --exec( 'select distinct '+@colname+' from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''')
- END
- fetch next from colroy into @colname
- end
- close colroy
- deallocate colroy
- fetch next from tbroy into @tbname
- end
- close tbroy
- deallocate tbroy
- end
- go
- exec Full_Search '123'
以上就是sql遍历全部表中某项值为已知数的查询办法.
<以上是“sql遍历全部表中某项值为已知数的查询办法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论