商品(编号,品名,进价,库存,售价,厂商编号) 顾客(卡号,姓名,电话,积分) 厂商(编号,厂址,名称、电话) 销售(顾客卡号,商品编号,数量,日期) 根据上面基本表的信息定义一个存储过程,完成下面功能: 入口参数:商品编号 1 显示商品信息 2 如果没人买,删除该商品记录 3 如果价格低于10元,涨价至10元。
时间: 2024-03-05 13:52:43 浏览: 13
好的,以下是根据您提供的基本表信息定义的存储过程,可以完成您所需的功能:
```sql
CREATE PROCEDURE sp_UpdateProductPriceAndStock
@ProductID INT
AS
BEGIN
-- 1. 显示商品信息
SELECT p.ProductID, p.ProductName, p.CostPrice, p.Stock, p.SalePrice, p.ManufacturerID
FROM Product p
WHERE p.ProductID = @ProductID;
-- 2. 如果没人买,删除该商品记录
IF NOT EXISTS (
SELECT 1
FROM Sales s
WHERE s.ProductID = @ProductID
)
BEGIN
DELETE FROM Product
WHERE ProductID = @ProductID;
END
-- 3. 如果价格低于10元,涨价至10元
UPDATE Product
SET SalePrice = 10
WHERE ProductID = @ProductID AND SalePrice < 10;
END;
```
该存储过程共有一个入口参数 `@ProductID`,用于指定要操作的商品编号。存储过程首先会根据商品编号查询该商品的信息并进行展示,然后判断该商品是否有销售记录,如果没有则删除该商品记录,最后检查该商品的售价是否低于10元,如果低于则将售价涨至10元。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)