zoukankan      html  css  js  c++  java
  • SQLServer中事务处理

    --将当前库存记录insert医废转移单中
    --declare @Warehouse nvarchar(100);
    
    declare @Warehouse_JJRID nvarchar(100);
    declare @Warehouse_JJRName nvarchar(100);
    
    declare @ZYGS_ID Nvarchar(100);--转运公司ID
    declare @ZYGS_Name NVarchar(100);
    declare @ZYGS_JSRID Nvarchar(100);
    
    declare @ZDR_ID Nvarchar(20);
    declare @ZDR_Name Nvarchar(20);
    
    --select @Warehouse={&WarehouseID};--'仓库ID'
    select @Warehouse_JJRID={&Warehouse_JJRID};--'仓库保管的ID'
    select @Warehouse_JJRName={&Warehouse_JJRName};--'仓库保管姓名'
    
    select @ZYGS_ID={&ZYGS_ID};--处置公司ID
    --select @ZYGS_Name={&ZYGS_Name};--处置公司名称
    select @ZYGS_JSRID={&ZYGS_JSRID};--处置公司处置人ID
    
    select @ZDR_ID={&ZDR_ID};--制单人ID
    select @ZDR_Name={&ZDR_Name};--制单人姓名
    
    declare @error int; 
    select @error=0; 
    BEGIN TRANSACTION 
    
    --get符合条件的库存记录
    
    insert into MedicalWastesDelivery
    (
    MWC_ID,
    MWC_Code,--医疗袋标识码BagID 18位
    MWD_ThisBarcode,
    MWC_Date,
    WT_Code,
    WT_Name,
    MWD_ZYBMCode,--转运公司ID
    MWD_ZYBMName,--转运公司名称
    MWD_ZYBMJSR,--转运接收人
    MWD_weight,
    emp_ID,--制单人ID
    MWD_ZDR,--制单人name
    WWH_Code,
    MWD_JJR,
    MWD_JJRName,
    MWD_CKdate --出库操作时间
    )
    select 
    (replace(newid(), '-', '')),
    b.MWC_Code,--'医疗袋标识码BagID 18位',
    MWS_ThisBarcode,
    getdate(),
    a.WT_Code,
    a.WT_Name, 
    @ZYGS_ID,
    @ZYGS_Name,
    @ZYGS_JSRID,
    weight,
    @ZDR_ID,
    @ZDR_Name,
    a.WWH_CODE,
    @Warehouse_JJRID,
    @Warehouse_JJRName,
    getdate()
    from MedicalWastesStock a
    left join MedicalWastesCollection  b on a.MWS_ThisBarcode=b.MWC_Barcode
    where isnull(a.MWS_CKDate,0)=0 and  ({&Warehouse});
    
    select @error =@error + @@error; 
    update MedicalWastesStock  set MWS_CKDate=getdate() -- 仓库出库日期; 
        where  ({&Warehouse1}) and  --选择的没有出库的库存记录 
                isnull(MWS_CKDate,0)=0;
    
    select @error =@error + @@error; 
    if @error <>0 
    begin 
      ROLLBACK TRANSACTION; 
      Return; 
    end 
    else
    begin 
      COMMIT TRANSACTION; 
    end;
  • 相关阅读:
    [转]CROSS APPLY 和outer apply 的区别
    第一次WCF部署成功心得(UP+证书)
    .NET 简单实现广播
    【转】 c#注册全局快捷键
    软件人才成长链
    [转]关于VS2005智能设备中无法找到PInvoke DLL问题
    [转]我倡导无政府主义编程—Fred George访谈录
    运行Windows Mobile程序时报错:无法找到 PInvoke DLL SQLite.Interop.065.DLL
    系统分析师考试说明
    [转]Oracle 字符集的查看和修改
  • 原文地址:https://www.cnblogs.com/usegear/p/14681978.html
Copyright © 2011-2022 走看看