sql7.0 存储过程怎么写?快来看一下!(30分)

  • 主题发起人 主题发起人 dqj
  • 开始时间 开始时间
D

dqj

Unregistered / Unconfirmed
GUEST, unregistred user!
表 考勤 字段 姓名,部门,日期
想写一个存储过程,输入参数 @姓名 @部门@开始日期 @结束曰期 则插入到表中.
比如某人请假,从10-1日到10-5日,有五条记录
姓名 部门 日期
张三 办公室 200-10-1
张三 办公室 200-10-2
张三 办公室 200-10-3
张三 办公室 200-10-4
张三 办公室 200-10-5
我想只输入四个参数 @姓名 @部门@开始日期 @结束曰期 就插入五条记录
如果有人请假半年我逐条录入岂不累死


 
如下:
CREATE PROCEDURE sp_Test
@sName char(20),
@sDepartment char(20),
@dStartDate datetime,
@sEndDate datetime
AS
begin
declare @dDateTmp datetime

begin tran

select @dDateTmp = @dStartDate

while @dDateTmp <= @sEndDate
begin
insert into testdate values(@sName, @sDepartment, @dDateTmp)
select @dDateTmp = dateadd(day, 1, @dDateTmp)
end

if @@error > 0
begin
rollback
return -101
end
else
begin
commit
return 1
end
end
 
这个过程保存时通不过,麻烦老兄再看一下.
 
接受答案了.
 
对不起,我搞错了.立即给分.tm兄希望能经常向你请假.
 
后退
顶部