✅ 操作成功!

产品销售数据

发布时间:2023-06-13 作者:admin 来源:文学

产品销售数据

产品销售数据

-

2023年3月19日发(作者:华为财务报表)

“销售数据库”中建立一个名为insert_aa的插入触发器,如果向销售表插入数

据时,“人员号”为空,则提示不允许插入数据,否则数据插入成功。

Createtriggerinsert_aaon

As

Declare@haochar(3)

Select

If

Begin

Print(’不允许插入数据’)

Rollbacktransaction

End

Else

Print(’插入成功’)

Go

产品销售数据库中包含如下几张表:其产品销售数据库中包含如下几张表:

product(产品表)、employee(员工表)、Customer(顾客表)、categories(产品类别

表)、orders(订单表)等。其中,product表结构为:产品编号、产品名、类别号、

单价、库存量、产品描述。Employee表结构为:员工编号、姓名、性别、入厂

时间、电话号码、地址。Customer表结构为:顾客编号、姓名、性别、联系电

话、地址。Categories表结构为:类别号、类别名称、详细描述。Orders表

结构为:订单号、顾客编号、员工编号、订单日期、发货日期、订单描述。根

据以下题目完成代码。

1.创建订单的详细情况表orderDetail表。它的表结构为:订单号、产品编号、

单价、数量、折扣、备注。请用Createtable语句创建这张表,并完成主键

和外键的设置,字段类型和长度自定;除了备注字段外,其它字段不能为

空;单价字段的值必须大于等于0;订单数量必须大于0;折扣值在0到1

之间(含0和1两值)。

2.创建一个存储过程pro_ShoppingTotal通过输出参数获得某位顾客所购产品

的总价格。

3.创建一个更新触发器tri_proStock,当向订单详表orderDetail表使用insert

into语句插入一个新订单时,被销售产品的库存数量可自动减少。(假定产

品的库存数量永远满足销售数量。)

4.创建用户自定义函数order-in-date,该函数通过两个时间参数指定起始时间

和终止时间,从而获得该时间段内需要发货的订单的产品详细情况。(涉及

到product表、order、orderDetail、customer表)

1.创建订单的详细情况表orderDetail表:它与orders表是一对多的关系。

CreatetableorderDetail(

订单号char(10)notnullforeignkeyreferencesorders(订单号),

产品编号char(10)notnullforeignkeyreferencesproduct(产品编号),

单价moneynotnullcheck(单价>=0),

数量smallintnotnullcheck(数量>0),

折扣realnotnullcheck(折扣>=0and折扣<=1),

备注char(50)

)

2.创建存储过程实现某位顾客所购产品的总价格。

Createprocedurepro_ShoppingTotal(

@customerIDchar(5),

@totalCostmoneyoutput

)

As

Select@totalCost=Sum(oderDetail.单价*orderDetail.数量*orderDetail.折扣)

from

orderDetail,order

where

顾客编号=@customerIDand

order.订单号=orderDetail.订单号

go

3.创建更新触发器,修改产品库存量

Createtriggertri_proStock

OnorderDetail

Aftertrigger

As

Declare@quantityint

Declare@pidchar(10)

Select@quantity=数量,@pid=产品编号frominserted

Updateproductset库存量=库存量-@quantitywhere产品编号=@pid

4.创建自定义函数返回某时间段内订单的详细明细。

Createfunctionorder-in-date

(@starttimedatetime,

@endtimedatetime)

Returnstable

As

Return(

Selectorder.订单号,customer.姓名,产品名,数量,product.价格,折扣,发货

时间

Fromproduct,order,orderDetail,customer

Whereproduct.产品编号=orderDetail.产品编号and

Order.订单号=orderDetail.订单号and

Order.顾客编号=customer.顾客编号and

发货日期between@starttimeand@endtime

)

1.销售forinsert

@hao=销售人员号frominserted

@hao’’

👁️ 阅读量:0