这是我的解答,经过运行能正确的获得结果—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————/*create table book20(
编号 int primary key,
会员id int,
卡号 int,
姓名 nvarchar(50),
图书编号 nvarchar(50),
书名 nvarchar(50),
借阅时间 smalldatetime,
归还时间 smalldatetime,
是否续借 bit,
续借至 smalldatetime,
是否归还 bit,
是否超期未还 bit
)
go*/
declare @借阅次数 int,                  /*声明变量*/
        @图书编号 nvarchar(50),
        @max int,
        @min intdeclare cur_book cursor                /*声明游标*/
for
select 图书编号,count(借阅时间)
from 借阅信息
where datepart(yy,借阅信息.借阅时间)='2003'
group by 图书编号open cur_book                          /*打开游标*/fetch next from cur_book               /*初始化变量--@max统计最大借阅次数,@min统计最小借阅次数*/
into @图书编号,@借阅次数select @max=max(借阅次数)
from(select 图书编号,count(借阅时间) as 借阅次数
from 借阅信息
where datepart(yy,借阅信息.借阅时间)='2003'
group by 图书编号)tttselect @min=min(借阅次数)
from(select 图书编号,count(借阅时间) as 借阅次数
from 借阅信息
where datepart(yy,借阅信息.借阅时间)='2003'
group by 图书编号)sss
while @@fetch_status=0    /*使用游标*/
begin 
if @借阅次数=@max         /*最畅销书在库存表中库存量加十*/
begin
update 书籍基本信息
set 库存量=库存量+10
where 图书编号=@图书编号
endif @借阅次数=@min     /*最不畅销书从借阅信息表去除*/
begin
delete 
from 借阅信息
where 图书编号=@图书编号
end fetch next from cur_book
into @图书编号,@借阅次数
endclose cur_book      /*关闭游标*/deallocate cur_book   /*释放游标*/goselect * into book2003       /*select into 子句直接将更新后的借阅信息表插入book2003表*/
from 借阅信息
where datepart(yy,借阅信息.借阅时间)='2003'