匹配所有字段模糊查询

功能描述:前台输入一个条件,只要数据库表中任何一个字段满足这个条件就返回,这就涉及到了匹配所有字段的模糊查询,本人查阅了些许资料,使用存储过程实现此功能。


--所有字段模糊查询存储过程
if exists(select * from sysobjects where name='usp_mhcx')
drop procedure usp_mhcx
go
create procedure usp_mhcx
    @condition varchar(50)--查询条件
as
    declare @sql varchar(4000)
    set @sql='select * from [caiwu_xieyidanwei] where '
    select @sql=@sql+'['+name+']'+'like'+'''%'+@condition+'%'''+' or '
    from syscolumns where object_name(id)='caiwu_xieyidanwei' Order By ColID
    print @sql
    select @sql=left(@sql,len(@sql)-2)
    print @sql
    exec(@sql)
go
execute usp_mhcx 2

你可能感兴趣的:(数据库/sql)