1、建立一个mypos数据库,要求需要有以下五个表: 客户表:客户ID,客户名称,联系方式 商品表:商品ID,商品名称,计量单位,零售价,促销价 库存表:商品ID,数量 销售总表:销售ID,客户ID,销售时间,收银员,应收金额,实收金额,优惠金额,备注 销售明细表:销售明细ID,销售ID,商品ID,数量,零售价,促销价 2、编写存储过程实现插入商品表:参数为:商品名称,计量单位,零售价,促销价。存储过程名称为:insert_商品表。 3、利用存储过程在商品表中插入以下5条记录: 商品名称 计量单位 零售价 促销价 --------------------------------------------- 可口可乐 瓶 2.50 2.30 百事可乐 瓶 2.50 2.30 伊利牛奶 盒 5.20 4.80 农夫山泉 瓶 1.50 1.30 涪陵榨菜 袋 1.00 0.80 4、更新商品名称为“伊利牛奶”的促销价为:4.50 5、在客户表中依据客户名称建立索引。索引名为:index_客户名称。 6、建立客户销售视图(包含客户名称,销售时间,收银员,实收金额)视图名称:v_客户_销售。 7、利用触发器实现插入销售明细表时,更新库存数量。触发器名称为:update_库存数量。,请用代码写出
时间: 2023-06-09 15:06:19 浏览: 61
1、建立五个表
--客户表
CREATE TABLE 客户 (
客户ID INT PRIMARY KEY,
客户名称 VARCHAR(50),
联系方式 VARCHAR(50)
);
--商品表
CREATE TABLE 商品 (
商品ID INT PRIMARY KEY,
商品名称 VARCHAR(50),
计量单位 VARCHAR(10),
零售价 DECIMAL(10, 2),
促销价 DECIMAL(10, 2)
);
--库存表
CREATE TABLE 库存 (
商品ID INT PRIMARY KEY,
数量 INT
);
--销售总表
CREATE TABLE 销售总 (
销售ID INT PRIMARY KEY,
客户ID INT,
销售时间 DATETIME,
收银员 VARCHAR(50),
应收金额 DECIMAL(10, 2),
实收金额 DECIMAL(10, 2),
优惠金额 DECIMAL(10, 2),
备注 VARCHAR(100)
);
--销售明细表
CREATE TABLE 销售明细 (
销售明细ID INT PRIMARY KEY,
销售ID INT,
商品ID INT,
数量 INT,
零售价 DECIMAL(10, 2),
促销价 DECIMAL(10, 2)
);
2、编写存储过程实现插入商品表
--插入商品表
CREATE PROCEDURE insert_商品表
@商品名称 VARCHAR(50),
@计量单位 VARCHAR(10),
@零售价 DECIMAL(10, 2),
@促销价 DECIMAL(10, 2)
AS
BEGIN
INSERT INTO 商品
(商品名称, 计量单位, 零售价, 促销价)
VALUES
(@商品名称, @计量单位, @零售价, @促销价);
END;
3、利用存储过程在商品表中插入以下5条记录
--插入商品表记录
EXEC insert_商品表 '可口可乐', '瓶', 2.50, 2.30;
EXEC insert_商品表 '百事可乐', '瓶', 2.50, 2.30;
EXEC insert_商品表 '伊利牛奶', '盒', 5.20, 4.80;
EXEC insert_商品表 '农夫山泉', '瓶', 1.50, 1.30;
EXEC insert_商品表 '涪陵榨菜', '袋', 1.00, 0.80;
4、更新商品名称为“伊利牛奶”的促销价为:4.50
UPDATE 商品
SET 促销价 = 4.50
WHERE 商品名称 = '伊利牛奶';
5、在客户表中依据客户名称建立索引
--建立索引
CREATE INDEX index_客户名称 ON 客户 (客户名称);
6、建立客户销售视图
--客户销售视图
CREATE VIEW v_客户_销售
AS
SELECT 客户.客户名称, 销售总.销售时间, 销售总.收银员, 销售总.实收金额
FROM 客户
INNER JOIN 销售总 ON 客户.客户ID = 销售总.客户ID;
7、利用触发器实现插入销售明细表时,更新库存数量
--更新库存数量触发器
CREATE TRIGGER update_库存数量
ON 销售明细
AFTER INSERT
AS
BEGIN
UPDATE 库存 SET 数量 = 库存.数量 - inserted.数量
FROM 库存
INNER JOIN inserted ON 库存.商品ID = inserted.商品ID;
END;