use master
go
if exists (select * from sysdatabases where name='库存数据库')
drop database 库存数据库
go
create database 库存数据库
go
use 库存数据库
go
create table 材料类别
(
类别ID varchar(20) not null primary key,
材料类别 varchar(50)
)
create table 库存
(
库存代码 varchar(20) not null primary key,
存货名称 varchar(50) not null,
类别ID varchar(20) not null foreign key references 材料类别(类别ID),
规格 varchar(50),
单位 varchar(20),
货架 varchar(20),
数量 float(8),
最高库存 float (8),
最低库存 float (8)
)
create table 供应商
(
供应商ID varchar(20) not null primary key ,
供应商 varchar(50),
联系电话 varchar(50)
)
create table 入库表
(
入库单号 varchar(20) not null primary key,
总金额 float (8),
入库日期 datetime,
经手人 varchar(20),
是否审核 bit,
摘要 varchar(100)
)
create table 入库材料明细表
(
入库单号 varchar(20) not null foreign key references 入库表(入库单号) ,
存货代码 varchar(20) not null foreign key references 库存(库存代码) ,
供应商ID varchar(20) not null foreign key references 供应商(供应商ID) ,
单价 float (8),
单位 varchar(20),
数量 float (8),
金额 float(8),
摘要 varchar(100),
primary key (入库单号,存货代码,供应商ID)
)
insert into 材料类别 values ('CAI1','电脑配件');
insert into 材料类别 values ('CAI2','软件');
insert into 供应商 values('GONG1','蓝星电脑','027-88855588');
insert into 供应商 values('GONG2','文杰电脑','027-87459801');
insert into 库存 values('010001','打印机','CAI1','ISO1','台','架1',0,5,1);
insert into 库存 values('010002','生产统计分析系统','CAI2','ISO2','套','架2',0,3,1);
insert into 入库表 values ('001',29000,'2002-10-29','王',0,'');
insert into 入库表 values ('002',25000,'2002-10-30','王',1,'');
insert into 入库材料明细表 values('001','010001','GONG1',3000,'台',3,9000,'');
insert into 入库材料明细表 values('001','010002','GONG2',20000,'套',1,20000,'');
insert into 入库材料明细表 values('002','010001','GONG1',2500,'台',2,5000,'');
insert into 入库材料明细表 values('002','010002','GONG2',20000,'套',1,20000,'');
select * from 入库表
select * from 库存
select * from 入库材料明细表
select * from 供应商
select * from 材料类别
--查询供应商ID为:‘GONG1’的供应商及其联系电话;
select 供应商,联系电话 from 供应商 where 供应商ID='GONG1'
--查询存货名称为:“打印机”的材料类别;
select 材料类别 from 库存,材料类别 where 库存.类别ID=材料类别.类别ID and 存货名称='打印机'
--查询所有入库单号为‘001’的材料库存量及其最低库存
select count(入库材料明细表.数量)as 数量,count(最低库存)as 最低库存 from 库存,入库材料明细表 where 库存.库存代码=入库材料明细表.存货代码 and 入库材料明细表.入库单号=001
--查询供应商为“文杰电脑”的供应商所提供的材料涉及的入库单详细信息;
select distinct 供应商.供应商ID,联系电话,规格,入库材料明细表.单位,入库材料明细表.数量,最高库存,最低库存,入库材料明细表.单价,金额,材料类别,摘要 from 供应商,库存,入库材料明细表,材料类别 where 库存.类别ID=材料类别.类别ID and 库存.库存代码=入库材料明细表.存货代码 and 供应商.供应商ID=入库材料明细表.供应商ID and 供应商='文杰电脑'
--1、修改入库表中入库单号为‘001’的经手人为‘李’;
update 入库表 set 经手人='李' where 入库单号=001
select * from 入库表
--2、删除‘入库材料明细表’表中存货代码为‘010001’的材料记录;
delete from 入库材料明细表 where 存货代码=010001
select * from 入库材料明细表