当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 模糊查询的通用存储过程

MSSQL
全面接触SQL语法(1)
全面接触SQL语法(2)
全面接触SQL语法(3)
全面接触SQL语法(4)
全面接触SQL语法(5)
全面接触SQL语法(6)
全面接触SQL语法(7)
跟我学SQL:(一)数据查询
跟我学SQL:(二) SELECT语句选项
精通数据库系列之入门-技巧篇2
精通数据库系列之入门-技巧篇3
精通数据库系列之入门-技巧篇4
精通数据库系列之入门-技巧篇5
SQL Server 7.0 入门(六)
Microsoft SQLServer安装示例
操作数据:SQL基础
操作数据:中级SQL
动态SQL四种类型的语句格式
Sql表数据操作
数据库正规化和设计技巧(1)

MSSQL 中的 模糊查询的通用存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 105 ::
收藏到网摘: n/a

模糊查询的通用存储过程实现语句。
复制代码 代码如下:

IF Exists(Select 1 From sysobjects Where Name='sp_search' And xType='P')
Drop Procedure sp_search
go
/*
模糊查询的通用存储过程
create by sxm,date 2009-7-14
参数:
@table_name 表名
@condition 条件
*/
create proc sp_search(@table_name varchar(200),@condition varchar(100))
with encryption
as
begin
declare @strsql varchar(8000)
declare @col_name varchar(100)
declare @str_cols varchar(8000)
set @str_cols=''
--查询表中的列名
declare cur_1 cursor for select column_name from information_schema.columns where table_name=@table_name
open cur_1
fetch cur_1 into @col_name
while @@fetch_status=0
begin
--组合查询条件
set @str_cols=@str_cols + @col_name+' like ''%' + @condition+ '%''' + ' or '
fetch cur_1 into @col_name
end --while
close cur_1
deallocate cur_1
set @str_cols=left(@str_cols,len(@str_cols)-3)
--print @str_cols
set @strsql='select * from '+@table_name+' where '+ @str_cols
exec(@strsql)
end