zoukankan      html  css  js  c++  java
  • 修改学籍异动的storeprocedure

    修改原因:

     ydid总是有重复值,原来系统不是直接在xjydjzb中更新数据,而是在一个keytable中记录上一次的最大的ydid。--今天在错误信息反馈中才知道这个原理 。

    所以直接在keytable中找ydid的最大值。

    CREATE procedure sp_xjyd
    @xhjm char(10),@yddm char(2)
    as
    if exists(select xhjm from xsjbdab where xhjm=@xhjm)
    begin
    declare @ydid varchar(20),@xh varchar(20),@bdm varchar(20),@xslxdm varchar(20),@xslbdm varchar(20)
    declare @nj varchar(20),@xxjdm varchar(20),@yxjdm varchar(20),@jhid varchar(20),@sxdm varchar(20)
    declare @fxdm varchar(20),@gzzdm varchar(20),@ydlxbz varchar(20)
    declare @czn varchar(20),@czy varchar(20),@czr varchar(20),@dyr varchar(20)
    declare @zyydbj varchar(3),@sxydbj varchar(3),@fxydbj varchar(20),@ydqxhqm varchar(20),@ybyzg varchar(20),@xbyzg varchar(20)
    declare @day datetime

    set @day=getdate()
    select @ydid=cast((max(table_id)+1as varchar(20)) from keytable where table_name='xjydjzb'
    if @yddm='31' 
    set @xxjdm='5'
    else if  @yddm='21' 
         
    set @xxjdm='3'
        
    else if  @yddm='12' 
         
    set @xxjdm='1'
    set @dyr='LJC'

    select @xh=xh,@bdm=bdm,@xslxdm=xslxdm,@xslbdm=xslbdm,@nj=nj,@yxjdm=xjztdm,@jhid=jhid,@sxdm=dwdm,
           
    @fxdm=left(dwdm,5),@gzzdm=left(dwdm,3),@ydlxbz=@yddm,@czn=datepart(YYYY,@day),
           
    @czy=datepart(MM,@day),@czr=datepart(DD,@day),@fxydbj='2',@ydqxhqm=xh,
           
    @ybyzg='Y',@xbyzg='N',@zyydbj='N',@sxydbj='Y'
    from xsjbdab
    where xhjm=@xhjm

    --bz,ydqxhjm不设值
    insert into xjydjzb(ydid,xh,xbdm,xxslxdm,xxslbdm,xnj,xxjdm,xjijhid,xsxdm,xfxdm,xgzzdm,ybdm,yxslxdm
    ,yxslbdm,ynj,yxjdm,yjxjhid,ysxdm,yfxdm,ygzzdm,ydlxbz,czn,czy,czr,dyr,zyydbj,sxydbj,fxydbj,ydqxhqm,ybyzg,xbyzg)
    values(@ydid,@xh,@bdm,@xslxdm,@xslbdm,@nj,@xxjdm,@jhid,@sxdm,@fxdm,@gzzdm,@bdm,@xslxdm
    ,
    @xslbdm,@nj,@yxjdm,@jhid,@sxdm,@fxdm,@gzzdm,@ydlxbz,@czn,@czy,@czr,@dyr,@zyydbj,@sxydbj,
     
    @fxydbj,@ydqxhqm,@ybyzg,@xbyzg)

    update xsjbdab
    set xjztdm=@xxjdm
    where xhjm=@xhjm

    update keytable
    set table_id=cast(@ydid as numeric(9)) where table_name='xjydjzb'

    end
    else
      
    print 'xhjm not exist!'
    GO
  • 相关阅读:
    nginx安装http2.0协议
    nginx内置变量 大全
    nginx全局查看进程
    Nginx1.14.2新增tcp/udp代理stream
    Nginx Location指令配置及常用全局变量
    Nginx配置udp/tcp代理
    ps -ef|grep详解
    centos7安装nginx(基础篇)
    js转义字符
    redis win连接以及配置连接密码
  • 原文地址:https://www.cnblogs.com/samsonleung/p/1318702.html
Copyright © 2011-2022 走看看