那你汇总数据是如何生成的????请说清楚是不是你处理过程有bug???

解决方案 »

  1.   

    用事务处理:begin tran
      insert 表1 ...
      insert 表2 ...
    commit tran
    例:create table Table1 (a int)
    go
    begin tran
      insert table1 values(1)               ----这句是对的
      insert table1 values('aaa')           ----这句由于类型不一样将报错
    commit transelect * from table1         ------结果是两句都没插入
      

  2.   

    你是先插明细记录还是先插汇总记录?
    不论顺序先后,应该都放在一个事务里,没有错误提交,有问题回滚操作。
    begin tran
    insert 明晰表 values(....)
    if @@error<>0 goto H_Err
    insert 明晰表 values(....)
    if @@error<>0 goto H_Err
    insert 汇总表 values(....)
    if @@error<>0 goto H_Err
    commit tran
    return
    H_Err:
    rollback tran
      

  3.   

    哦,是商业POS吧,应该是你的设计有点问题吧。
    说的能具体些吗?两个表有什么关系,前后顺序等等,清楚了才能知道怎么回答。
      

  4.   

    关于两个表中都有一个单据号字段是由另一个数据表djh动态产生,而且数据表djh上加了一个锁。
      

  5.   


    SaleLine     销售单表
    列名  类型  长度  空  默认值  自增  说明 
    v cSaleLine varchar 19 否 单号
    cChainCode varchar 4 否 外码: wareinfo - cwarecode
    cCounterCode varchar 4 柜组编码
    cEmpCode varchar 6 员工编码
    cOp_Code varchar 10 操作员
    cMacno varchar 2 收银机号
    mCostAmt money 8 成本金额
    mSaleDueAmt money 8 标准价应结
    mSaleTaxAmt money 8
    mSalePayAmt money 8 交易价应收
    cCardCode varchar 20 店内卡卡号
    cGuestName varchar 50 持店内卡人名
    cAccountNo varchar 20
    bStoreBlc bit 1 传送标志
    fG_Count float 8 数量
    bSendAcc bit 1 传送标志
    dsaledate datetime 8 销售时间
    mSalecash money 8 现金
    mSalecard money 8 信用卡
    mSaleCheck money 8 支票
    mSaleother money 8 其它
    CLINETYPE varchar 4 单类型
    fg_discount money 8 折扣金额
    bcheck bit 1 (0) 审核标记
    -------------------------------------------------------------------------------------------------
    SaleList    销售单明细表
    列名  类型  长度  空  默认值  自增  说明 
    v cSaleLine varchar 19 否 单号;外码: SaleLine - cSaleLine
    v iListNo int 4 否 是 序号
    cG_barcode varchar 13 否 商品条码;外码: GPinfo - cG_BarCode
    fg_Count float 8 数量
    mg_uprice smallmoney 4 交易价
    mG_bprice smallmoney 4 标准价
    fg_discount float 8 折扣
    mg_ucost money 8 进价
    cSaleType varchar 2 销售类型
    tag_upload bit 1 传送标志
    cg_name varchar 30 商品名称
    cSp_Code varchar 6 供应商
    mbuy_hj money 8 销售金额
    mcost_hj money 8 进价金额
    mbuyold_hj money 8
    fg_mlje money 8 毛利金额
    dg_tag varchar 1 促销方式-------------------------------------------------------------------------------------------------Maxvouch      取最大单号表
    列名  类型  长度  空  默认值  自增  说明 
    v id int 4 否 是  编号
    cBilltype varchar 20 否 单据类型
    cBillTag char 2 否 单据前缀标示
    iBillvalue int 4 否 单据变量
    ddate datetime 8 否 取单号最新日期