SQL实现删除数据,并把删除的数据直接插入到历史表中。

是想功能:在数据库中删除一条数据,然后在把删除的这条数据重新插入到另一个表中,同时要在表中插入删除人和删除时间。

用sql语句执行 

declare
v_fwzco t_fwzc_o%rowtype;
begin
   select fwzc_id,zcbm into v_fwzco.fwzc_id,v_fwzco.zcbm from  T_FWZC where fwzc_id='56038d65-2a41-4cf7-b136-f2cec915960f';      
   v_fwzco.BDR :='test';
   v_fwzco.BDSJ :='test';
   v_fwzco.fwzc_o_id:='dsadas';
   insert into t_fwzc_o(fwzc_id,bdr,bdsj,zcbm,fwzc_o_id) values(v_fwzco.fwzc_id,v_fwzco.bdr,v_fwzco.bdsj,
   v_fwzco.zcbm,v_fwzco.fwzc_o_id);
   update T_FWZC set jpjd=null where fwzc_id='56038d65-2a41-4cf7-b136-f2cec915960f';
end;

另一种写法:(上面的代码有可能在数据库连接字符串中不好使,就可以仿照下面的方法写。)

 var sbSQL = new StringBuilder();
                sbSQL.Append("declare ");
                sbSQL.Append("v_fwzco t_fwzc_o%rowtype;");
                sbSQL.Append("begin ");
                sbSQL.Append("select FWZC_ID,ZCBM,ZCMC,XYMC,ZCCBS,FWCQ_ID,FWBM,DEPTCODE,DEPTNAME,DWJC,SSQY,YZ,JZ,FWSL,JG,MJ,CS,GJRQ,ZCSX,DWSX,SYZT,JSZK,YT,ZRR,JD,WD, SFSCTPSP,SFZZ,CSHR,CSSJ,BGR,BGRQ,BZ,BM,XSYDW,JPJD,JPWD,DWSXHZ,SSQYHZ,ZCSXHZ,SFZZHZ,BY1,BY2,BY3,BY4,RQ,SFDTGL ,SFDTGLHZ ");
                sbSQL.Append("into v_fwzco.FWZC_ID,v_fwzco.ZCBM,v_fwzco.ZCMC,v_fwzco.XYMC,v_fwzco.ZCCBS,v_fwzco.FWCQ_ID,v_fwzco.FWBM,v_fwzco.DEPTCODE,v_fwzco.DEPTNAME,v_fwzco.DWJC,v_fwzco.SSQY,v_fwzco.YZ,v_fwzco.JZ,v_fwzco.FWSL,v_fwzco.JG,v_fwzco.MJ,v_fwzco.CS,v_fwzco.GJRQ,v_fwzco.ZCSX,");
                sbSQL.Append("v_fwzco.DWSX,v_fwzco.SYZT,v_fwzco.JSZK,v_fwzco.YT,v_fwzco.ZRR,v_fwzco.JD,v_fwzco.WD, v_fwzco.SFSCTPSP,v_fwzco.SFZZ,v_fwzco.CSHR,v_fwzco.CSSJ,v_fwzco.BGR,v_fwzco.BGRQ,v_fwzco.BZ,v_fwzco.BM,v_fwzco.XSYDW,v_fwzco.JPJD,v_fwzco.JPWD,v_fwzco.DWSXHZ,v_fwzco.SSQYHZ,");
                sbSQL.Append("v_fwzco.ZCSXHZ,v_fwzco.SFZZHZ,v_fwzco.BY1,v_fwzco.BY2,v_fwzco.BY3,v_fwzco.BY4,v_fwzco.RQ,v_fwzco.SFDTGL ,v_fwzco.SFDTGLHZ ");
                sbSQL.Append("from T_FWZC where zcbm='{0}';");
                sbSQL.Append("v_fwzco.BDR :='{1}';");
                sbSQL.Append("v_fwzco.BDSJ :='{2}';");
                sbSQL.Append("v_fwzco.fwzc_o_id:='{3}';");
                sbSQL.Append("insert into t_fwzc_o(bdr,bdsj,fwzc_o_id,FWZC_ID,ZCBM,ZCMC,XYMC,ZCCBS,FWCQ_ID,FWBM,DEPTCODE,DEPTNAME,DWJC,SSQY,YZ,JZ,FWSL,JG,MJ,CS,GJRQ,ZCSX,DWSX,SYZT,JSZK,YT,ZRR,JD,WD, SFSCTPSP,SFZZ,CSHR,CSSJ,BGR,BGRQ,BZ,BM,XSYDW,JPJD,JPWD,DWSXHZ,SSQYHZ,ZCSXHZ,SFZZHZ,BY1,BY2,BY3,BY4,RQ,SFDTGL ,SFDTGLHZ ) ");
                sbSQL.Append("values(v_fwzco.BDR,v_fwzco.BDSJ,v_fwzco.FWZC_O_ID,v_fwzco.FWZC_ID,v_fwzco.ZCBM,v_fwzco.ZCMC,v_fwzco.XYMC,v_fwzco.ZCCBS,v_fwzco.FWCQ_ID,v_fwzco.FWBM,v_fwzco.DEPTCODE,v_fwzco.DEPTNAME,v_fwzco.DWJC,v_fwzco.SSQY,v_fwzco.YZ,v_fwzco.JZ,v_fwzco.FWSL,v_fwzco.JG,v_fwzco.MJ,v_fwzco.CS,v_fwzco.GJRQ,v_fwzco.ZCSX,");
                sbSQL.Append("v_fwzco.DWSX,v_fwzco.SYZT,v_fwzco.JSZK,v_fwzco.YT,v_fwzco.ZRR,v_fwzco.JD,v_fwzco.WD, v_fwzco.SFSCTPSP,v_fwzco.SFZZ,v_fwzco.CSHR,v_fwzco.CSSJ,v_fwzco.BGR,v_fwzco.BGRQ,v_fwzco.BZ,v_fwzco.BM,v_fwzco.XSYDW,v_fwzco.JPJD,v_fwzco.JPWD,v_fwzco.DWSXHZ,v_fwzco.SSQYHZ,");
                sbSQL.Append("v_fwzco.ZCSXHZ,v_fwzco.SFZZHZ,v_fwzco.BY1,v_fwzco.BY2,v_fwzco.BY3,v_fwzco.BY4,v_fwzco.RQ,v_fwzco.SFDTGL ,v_fwzco.SFDTGLHZ);");
                sbSQL.Append("update T_FWZC set jpjd='{4}',jpwd='{5}',SFDTGL = '{6}',SFDTGLHZ = '{7}' where zcbm='{8}';");
                sbSQL.Append("end;");
                SQL = String.Format(sbSQL.ToString(), zcbm, Config.Instance.UserId, DateTime.Now.ToString(), Guid.NewGuid().ToString(), jpjd, jpwd, "1", "", zcbm);
                sc.ExecuteNonQueryAsync(SQL);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值