SQL server 库存管理系统数据库

我在做一个苗木库存管理系统,因为我们公司每天都有大量的苗木信息从外面采集回来,包括苗木的类别 名称 价格 规格 供应商信息 苗木等级
每种苗木的价格等信息都是不一样的,同一名称的苗木可能属于多个类别,
tb_GoodsName:苗木名称表
tb_Storage:苗木类别表
tb_Class_Goods:类别—名称映射表(多对多)
tb_InStore:库存信息表(采集回来的信息存放到这个表中,存放苗木的类别ID、名称ID、供应商ID等信息,链接其他表)
我在录入的时候 根据输入的苗木名称自动判断tb_GoodsName表中是否已存在,如果存在返回GoodsID,如果不存在:插入数据 然后返回值
这是语句
ALTER PROCEDURE dbo.InsertIntoStore

@GoodsName varchar(50),
@StoreName int,
@xiongjing varchar(50),
@dijing varchar (50),
@pengjing varchar (50),
@gaodu varchar (50),
@fenzhi varchar (50),
@GoodsUnit int,
@GoodsNum bigint,
@GoodsPrice decimal(18,2),
@ShouJia decimal(18,2),
@HandlePeople varchar (20),
@ISRemark varchar (1000),
@Pinzhi int,
@GYid int,
@IsGood bit,
@IsBareRoot bit
AS
----判断tb_GoodsName中是否已经存在要插入的名称,如果存在则取得GoodsId,不存在则插入后取得GoodsId
    if exists (select GoodsId from tb_GoodsName where GoodsName=@GoodsName)
    begin 
    declare @sql nvarchar(1000)
    declare @gid int
    set @sql= 'select @gid=GoodsId from tb_GoodsName where GoodsName=@GoodsName'
    exec(@sql)
              insert into tb_InStore(GoodsName,StoreName,
                 xiongjing,dijing,pengjing,gaodu,fenzhi,GoodsUnit,GoodsNum,GoodsPrice,shoujia,HandlePeople,ISRemark,pinzhi,PrName,isgood,isbareroot) 
              values(@gid,@StoreName,@xiongjing,@dijing,@pengjing,@gaodu,@fenzhi,@GoodsUnit,@GoodsNum,
                 @GoodsPrice,@ShouJia,@HandlePeople,@ISRemark,@Pinzhi,@GYid,@IsGood,@IsBareRoot)
    
    end
    else
    begin
---不存在时
    insert into tb_GoodsName(GoodsName) values(@GoodsName) 
    select @@identity
---在类别-名称映射表中插入映射关系
    insert into tb_Class_Goods(GoodsId,ClassId) values(@@identity,@StoreName)
---在存储商品的表中插入数据
    insert into tb_InStore(GoodsName,StoreName,
                 xiongjing,dijing,pengjing,gaodu,fenzhi,GoodsUnit,GoodsNum,GoodsPrice,shoujia,HandlePeople,ISRemark,pinzhi,PrName,isgood,isbareroot) 
              values(@@identity,@StoreName,@xiongjing,@dijing,@pengjing,@gaodu,@fenzhi,@GoodsUnit,@GoodsNum,
                 @GoodsPrice,@ShouJia,@HandlePeople,@ISRemark,@Pinzhi,@GYid,@IsGood,@IsBareRoot)
    end
    RETURN
posted @ 2010-08-29 08:49  I day-day-up↑  阅读(1920)  评论(0编辑  收藏  举报