簡單存儲過程和遊標使用案例

簡單存儲過程和遊標使用案例

create procedure  [dbo].[proc_zl_score]

@zl_id varchar(20),
@lx_name varchar(20)
as
update ZL
set ZL.ZL_score=ZL_lx_score
from ZL,ZL_LX
where ZL.ZL_lx_id=ZL_LX.ZL_lx_id 
and ZL_LX.ZL_lx_name=@lx_name and ZL.ZL_id=@zl_id 


create procedure [dbo].[proc_z_zuo_score]
@z_id varchar(20),
@words  float,
@lb_name varchar(20)
as
update Z_ZUO
set Z_ZUO.Z_score=Z_words*Z_LB_score
from Z_ZUO,Z_LB
where  Z_ZUO.Z_LB_id=Z_LB.Z_LB_id 
and Z_LB.Z_LB_name=@lb_name and  Z_words=@words  and Z_ZUO.Z_id=@z_id 






create procedure  [dbo].[proc_lw_score]
@lw_id varchar(12),
@sl_shu  varchar(6),
@kw_name varchar(20)
as
update L_W 
set L_W.LW_score=KW_JB.KW_score+SL.SL_score
from  L_W,KW_JB,SL
where  L_W.KW_id=KW_JB.KW_id and L_W.SL_id=SL.SL_id
and KW_JB.KW_name=@kw_name and SL_shu=@sl_shu  and L_W.LW_id=@lw_id 




create procedure  [dbo].[pro_kwjb1]
@dj_name varchar(20),
@score float
as
declare @total_score float,@ZG_id varchar(20),@LW_id varchar(20)
declare  mycursor cursor for select ZG_id,LW_id from ZG_LW
begin
open mycursor
    fetch next from mycursor into @ZG_id,@LW_id
    while @@fetch_status=0
    begin
--修改刊物級別得分規則,重新計算(個人得分)
    select @total_score=(@score+SL.SL_score)*CG_JS.xi_shu 
    from  L_W,SL,KW_JB,CG_JS,ZG_LW
    where  L_W.LW_id=ZG_LW.LW_id and L_W.SL_id=SL.SL_id and L_W.KW_id=KW_JB.KW_id and KW_JB.KW_name=@dj_name and L_W.LW_id=@LW_id and CG_JS.rank=ZG_LW.F_G and CG_JS.num=L_W.LW_rs and ZG_LW.ZG_id=@ZG_id
    update ZG_LW set Score=@total_score from L_W,SL,KW_JB,ZG_LW  where L_W.LW_id=@LW_id and ZG_id=@ZG_id and L_W.LW_id=ZG_LW.LW_id and L_W.SL_id=SL.SL_id and L_W.KW_id=KW_JB.KW_id and KW_JB.KW_name=@dj_name


--修改刊物級別得分規則,重新計算(論文總得分)
    select @total_score=@score+SL.SL_score
    from  L_W,SL,KW_JB
    where   L_W.SL_id=SL.SL_id and L_W.KW_id=KW_JB.KW_id and KW_JB.KW_name=@dj_name and L_W.LW_id=@LW_id 
    update L_W set LW_score=@total_score   from  L_W,SL,KW_JB
    where   L_W.SL_id=SL.SL_id and L_W.KW_id=KW_JB.KW_id and KW_JB.KW_name=@dj_name and L_W.LW_id=@LW_id 
fetch next from mycursor into @ZG_id,@LW_id
    end
    close mycursor
    deallocate mycursor
  end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章