仓库管理系统
- 格式:doc
- 大小:96.00 KB
- 文档页数:7
---查看StorageManagement数据库是否存在,存在删除IF EXISTS(SELECT*FROM master..sysdatabasesWHERE name='StorageManagement') DROP DATABASE StorageManagementGO--建立StorageManagement数据库create database StorageManagementOn(name=仓库_dat,Filename='E:\StorageManagement_Data.mdf',Size=10,Maxsize=150)Log on(name=仓库_log,Filename='E:\StorageManagement_Data.ldf',Size=10,Maxsize=80)--打开数据库use StorageManagement--查看零件类型信息表是否存在,存在删除IF EXISTS(SELECT nameFROM sysobjectsWHERE name='零件类型信息表'AND type='U')DROP TABLE零件类型信息表GOcreate table零件类型信息表(零件类型号char(10)primary key,类型char(10));--向表中插入数据--向表中插入数据insert into零件类型信息表values('type1','金属') insert into零件类型信息表values('type2','布料') insert into零件类型信息表values('type3','电子')select*from零件类型信息表--查看零件信息表是否存在,存在删除IF EXISTS(SELECT nameFROM sysobjectsWHERE name='零件信息表'AND type='U')DROP TABLE零件信息表GO--建立零件信息表create table零件信息表(零件类型号char(10)not null,零件编号char(10)primary key,名称char(10)not null,单价money constraint单价_Chk check(单价between 40 and 600), 库存数量int not null);select*from零件信息表--查看顾客信息表是否存在,存在删除IF EXISTS(SELECT nameFROM sysobjectsWHERE name='顾客信息表'AND type='U')DROP TABLE顾客信息表GO--查看商品购买表是否存在,存在删除IF EXISTS(SELECT nameFROM sysobjectsWHERE name='商品购买表'AND type='U')DROP TABLE商品购买表GO--建立商品购买表Create table商品购买表(顾客编号char(10)primary key,顾客姓名char(10),零件编号char(10),名称char(10)not null,价格int,数量int not null,购买时间datetime not null)select*from商品购买表--查看出库登记表是否存在,存在删除IF EXISTS(SELECT nameFROM sysobjectsWHERE name='出库登记表'AND type='U')DROP TABLE出库登记表GO--建立出库登记表create table出库登记表(零件编号char(10)foreign key references零件信息表(零件编号), 零件名char(10),价格numeric(10,2)not null,出库数量int,出库时间datetime);select*from出库登记表--查看入库登记表是否存在,存在删除IF EXISTS(SELECT nameFROM sysobjectsWHERE name='入库登记表'AND type='U')DROP TABLE入库登记表GO--建立入库登记表create table入库登记表(零件编号char(10)foreign key references零件信息表(零件编号), 名称char(10)not null,价格numeric(10,2)not null,入库数量int not null default 0,入库时间datetime,primary key (零件编号));select*from入库登记表--查看零件信息表存储过程IF EXISTS(SELECT name FROM sysobjectsWHERE name='insert_零件信息'AND type='P')DROP PROCEDURE insert_零件信息GO--建立零件信息表存储过程create procedure insert_零件信息(@零件类型号char(10),@零件编号char(10),@零件名char(10),@单价money,@数量int)asinsert into零件信息表values(@零件类型号,@零件编号,@零件名,@单价,@数量)--查看入库存储过程IF EXISTS(SELECT name FROM sysobjectsWHERE name='pro_ins1'AND type='P')DROP PROCEDURE pro_ins1GOcreate procedure pro_ins1(@零件编号char(10),@零件名char(10),@价格int,@入库数量int)asdeclare@入库时间datetimeset@入库时间=getdate()insert into入库登记表values(@零件编号,@零件名,@价格,@入库数量,@入库时间)--查看出库存储过程IF EXISTS(SELECT name FROM sysobjectsWHERE name='pro_ins2'AND type='P')DROP PROCEDURE pro_ins2GOcreate procedure pro_ins2(@顾客编号char(10),@顾客名char(10),@零件编号int,@名称char(10),@价格int,@数量int)asdeclare@购买时间datetimeset@购买时间=getdate()insert into商品购买表values(@顾客编号,@顾客名,@零件编号,@名称,@价格,@数量,@购买时间)--建立出库触发器IF EXISTS(SELECT name FROM sysobjectsWHERE name='tri_统一零件出库'AND type='TR')DROP TRIGGER tri_统一零件出库GOcreate trigger tri_统一零件出库on商品购买表instead of insertasif exists(select零件编号from零件信息表where零件编号=(select零件编号from inserted))beginprint'次零件存在'if exists(select零件编号from零件信息表where零件编号=(select零件编号from inserted)and库存数量>=(select数量from inserted))beginbeginprint'零件库存够出售'update零件信息表set库存数量=库存数量-(select数量from inserted)where零件编号=(select零件编号from inserted)endinsert into商品购买表select顾客编号,顾客姓名,零件编号,名称,价格,数量,购买时间from insertedendelsebeginprint'零件库存数量不够,不能出售!'endendelsebeginprint'仓库里没有此零件,请通知公司'end----建立入库触发器IF EXISTS(SELECT name FROM sysobjectsWHERE name='tri_统一零件入库'AND type='TR')DROP TRIGGER tri_统一零件入库GOcreate trigger tri_统一零件入库on入库登记表instead of insertasif exists(select零件编号from零件信息表where零件编号=(select零件编号from inserted))beginbeginupdate零件信息表set库存数量=库存数量+(select入库数量from inserted)where零件编号=(select零件编号from inserted)endinsert into入库登记表select零件编号,名称,价格,入库数量,入库时间from insertedendelsebeginprint'此零件不存在,不能入库!'endcreate view view_零件进出库(零件编号,进库数量,出库数量)asselect入库登记表.零件编号,入库数量,出库数量from入库登记表,出库登记表where入库登记表.零件编号=出库登记表.零件编号create view view_零件库存情况asselect零件编号,库存数量from零件信息表--执行零件信息表的插入过程exec insert_零件信息'type1','0001','螺栓',40,100exec insert_零件信息'type1','0002','龙头',45,100exec insert_零件信息'type1','0003','螺母',55,100exec insert_零件信息'type2','0004','床单',50,100exec insert_零件信息'type2','0005','窗帘',75,100exec insert_零件信息'type2','0006','被罩',80,100exec insert_零件信息'type3','0007','电视',550,100exec insert_零件信息'type3','0008','手机',500,100 exec insert_零件信息'type3','0009','手表',200,100 select*from零件信息表--执行入库过程Exec pro_ins1'0001','螺栓',40,10Exec pro_ins1'0002','龙头',45,10Exec pro_ins1'0003','螺母',55,10Exec pro_ins1'0004','床单',50,10Exec pro_ins1'0005','窗帘',75,10Select*from入库登记表Select*from view_零件库存情况--执行出库过程Exec pro_ins2'001','李一','0001','螺栓',40,15 Exec pro_ins2'002','李二','0003','螺母',55,13 Exec pro_ins2'003','张三','0004','床单',50,12 Select*from商品购买表select*from view_零件库存情况--不存在的情况Exec pro_ins2'0005','窗帘',75,110Exec pro_ins2'0010','窗帘',75,10Exec pro_ins1'0010','窗帘',75,10Select*from出库登记表select*from view_零件库存情况--查询库存情况select*from view_零件进出库select*from view_零件库存情况。