日期:2014-05-19  浏览次数:20636 次

搜索的存储过程怎么写啊??
不知道是用动态查询用查询条件做参数还是给每个查询条件定义一个参数的查询啊??

------解决方案--------------------
动态查询用查询条件做参数
------解决方案--------------------
楼主最好是看一下联机帮助的说明,然后一下大家写的列子,比较容易上手.
存储可以用于更改表的数据和查询
------解决方案--------------------
建议用参数
------解决方案--------------------
CREATE PROCEDURE SplitPage
@SQL VARCHAR(400),
@Page int,
@RecsPerPage int,
@ID VARCHAR(255),
@Sort VARCHAR(255),
@where VARCHAR (255)

AS

DECLARE @Str nVARCHAR(4000)

SET @Str= 'SELECT TOP '+CAST(@RecsPerPage AS VARCHAR(20))+ ' * FROM '+@SQL+ ' WHERE '+@where + ' and '+@ID+ ' NOT IN (SELECT TOP '+CAST((@RecsPerPage*(@Page-1)) AS VARCHAR(20))+ ' '+@ID+ ' FROM '+@SQL+ ' where '+@where+ ' ORDER BY '+@Sort+ ') ORDER BY '+@Sort
PRINT @Str EXEC sp_ExecuteSql @Str
GO
------解决方案--------------------
用查询条件做参数
create proc showpage
@pagesize int,
@tablename nvarchar(250),
@pagecount int
@strwhere nvachar(4000)
as
begin
' ' ' ' 'where @strwhere
end