高分悬赏——有关sql 2005存储过程

来源:百度知道 编辑:UC知道 时间:2024/09/27 19:15:30
有道存储过程题不是很懂,希望大家能帮我解答,题目如下:
存储过程名称 : uspGetBillDetails
功能描述 : 获取多条票据明细信息
输入参数 :
@billCode VARCHAR(50), --票据编号
@billType VARCHAR(50), --票据类型
@billStatus VARCHAR(50), --票据状态
@beginWriteDate DATETIME, --开始填写日期
@endWriteDate DATETIME, --结束填写日期
@pageIndex INT, --待读取的页索引
@pageSize INT, --每页显示的记录数
输出参数 :
@recordCount INT OUT --总记录数
返 回 值 : 无
结果集 :
BillType, --票据类型
BillCode, --票据编号
BillState, --票据状态
WriteDate, --填写日期
AcceptStation, --接货点
涉及到的表 :
1.票据明细表:BillMgt_BillDetail
操作说明 :
过滤条件:1.BillCode LIKE '%' + @billCode + '%'
2.如果@billType不等于'',则BillType=@billType
3.如果@billStatus不等于'',则BillState=@billStatus
4.如果@beginWriteDat

*******************
补充:修改了一下。
*******************

CREATE PROCEDURE uspGetBillDetails
@billCode VARCHAR(50), --票据编号
@billType VARCHAR(50), --票据类型
@billStatus VARCHAR(50), --票据状态
@beginWriteDate DATETIME, --开始填写日期
@endWriteDate DATETIME, --结束填写日期
@pageIndex INT, --待读取的页索引
@pageSize INT, --每页显示的记录数
@recordCount INT OUT --总记录数
AS
DECLARE @str VARCHAR(1000)
BEGIN
SET @str =
'SELECT '+@recordCount+'=count(*) from (select row_number()over(order by BillCode)rn,a.* FROM BillMgt_BillDetail a)WHERE BillCode LIKE '+CHAR(39)+'%' + @billCode + '%'+CHAR(39)
IF @billType <> ''
@str=@str+' and BillType='+@billType
IF @billStatus <> ''
@str=@str+' and BillState='+@bill