要求:在产品入库的时候,一定要输入产品序列号和产品条形码,分为两张表,入库产品表和入库产品序列号信息表。
比方说有2个产品要进行入库操作:
      产品名称   产品编号   产品型号  产品规格   数量  
         A          111        xxx      xbxb       3            B          222        qqq      qwqw       2   那么,对应A产品就要求输入3条对应的记录,B要求输入2条对应的记录
     
      产品编号   产品序列号   产品条形码问:
怎么样才能把这两部分有机的结合起来?就是要实现同步(操作)插入数据库中能不能给设计个好点的模型?

解决方案 »

  1.   

    你把逻辑描述反了,所以比较难以理解。程序很简单:create trigger adkf_asdfas on [入库产品序列] after insert as
      update x set [数量]=x.[数量]+1
        from inserted as i
        inner join [产品库存] as x on x.[产品编号]=i.[产品编号]
      insert x(产品名称,产品编号,产品型号,产品规格,数量)
        select s.[产品名称],s.[产品编号],s.[产品型号],s.[产品规格],i.[数量]
          from (select [产品编号],count(*) as [数量] from inserted group by [产品编号]) as i
          left join [产品清单] as s on s.[产品编号]=i.[产品编号]
          where not exists(select * from [产品库存] where [产品编号]=s.[产品编号])
    go也就是说录入条形码的资料的时候汇总数量,而不是相反顺序。另外库存表的设计与产品清单冗余(如果没有产品清单就无法创建新入库商品的记录),可见设计稍差。
      

  2.   

    “insert x”  应该是  “insert [产品库存]”,自己改一下。