存储过程问题??
-------------谁可以帮我解释一下下面这段代码的意思·真心感谢!!!--------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Pro_GetSearchFatList]
/* *******************************************************************************************************************************
时间:2007-12-17日
作者:王凯
说明:获得厂商列表
***************************************************************************************************************************************** */
@pageSize int,
@pageNo int,
@type varchar(50),
@value varchar(50),
@myOrderBy as varchar(50),
@ExSql varchar(200)
AS
declare @tableName nvarchar(50)
declare @KeyWord nvarchar(20)
declare @FieldName nvarchar(200)
declare @where nvarchar(500)
declare @orderBy nvarchar(500)
--set @tableName=' tb_article' ----表名
set @tableName=' V_SearchFatList ' ----表名
set @KeyWord=' Auto_CompanyInfoID ' --主键或唯一不重复的字段
set @FieldName='*' --要显示的字段名称
---------------排序
set @orderBy='order by CompanyRegistTime asc '
-- set @orderBy=' order by id desc '
--if(@myOrderBy<>'' and @myOrderBy<>null)
if(@myOrderBy<>'' )
begin
set @orderBy=' '+@myOrderBy
end
-----条件
set @where=' 1=1 '
if (@type<>'' and @value<>'')
begin
--Set @where=@where+' and '+@type +'='''+@value+''' '
Set @where=@where+' and '+@type +' like ''%'+@value+'%'' '
end
else
begin
set @where=' 1=1 '
end
if (@ExSql<>'' and @ExSql<>'')
begin
--Set @where=@where+' and '+@type +'='''+@value+''' '
Set @where=@where+' and '+@ExSql
end
exec usp_page @pageSize,@PageNo,@tableName,@KeyWord,@FieldName,@where,@orderBy
------解决方案-------------------- 就是根据各个sql 语句要素是否为空,来进行sql 组合。
------解决方案-------------------- set 赋值语句
------解决方案-------------------- 根据参数组合出另外一些参数,调用usp_page
------解决方案-------------------- set 是为变量赋值的关键字
set @变量 = '111'
------解决方案-------------------- 探讨 set 赋值语句
------解决方案-------------------- set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
--上面两行你可以不用管
--下面进行了一个分页的存储过程
ALTER PROCEDURE [dbo].[Pro_GetSearchFatList]
@pageSize int, --每页大小
@pageNo int, --页码
@type varchar(50), --某一列的列名
@value varchar(50), --该列的关键字
@myOrderBy as varchar(50), --进行排序的条件
@ExSql varchar(200) --where查询条件
AS
--用declare声明了一系列的变量,已经说的很清楚
declare @tableName nvarchar(50)
declare @KeyWord nvarchar(20)
declare @FieldName nvarchar(200)
declare @where nvarchar(500)
declare @orderBy nvarchar(500)
--下面用set依次为声明的变量进行辅值
--set @tableName=' tb_article' ----表名
set @tableName=' V_SearchFatList ' ----表名
set @KeyWord=' Auto_CompanyInfoID ' --主键或唯一不重复的字段
set @FieldName='*' --要显示的字段名称
---------------排序
set @orderBy='order by CompanyRegistTime asc '
-- set @orderBy=' order by id desc '
--if(@myOrderBy <>'' and @myOrderBy <>null)