sql存储过程和游标的问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 02:18:54
由于元旦来临,要求制定一个促销方案:根据产品年销售总额,给予不同的打折方案。打折方案如下:年销售总额30000元以下产品,
折扣为原单价打6折,超过30000元产品,则折扣为原单价打7折。请使用游标和循环语句编写一个存储过程,输入年度,
计算每种产品的年销售总额,并按打折方案给出新单价。要求显示输出格式为:
产品编号 产品名称 年销售总额 新单价
仅有的200分,希望会的大大指点指点

表的字段
---------产品表-------------------
create table product(
prod_id char(5) not null primary key,
prod_name char(20) not null
)

--------------销售主表------------------
create table sales(
order_no int not null primary key,
cust_id char(5) not null,
sale_id char(5) not null,
tot_amt numeric(9,2) not null,
order_date datetime not null,
ship_date datetime not null,
invoice_no char(10) not null unique,
foreign key(cust_id) references customer(cust_id)
on delete cascade
on update cascade
)

----------------销售明细表------------------
create table sale_item (
order_no int not null,
prod_id char(5) not null ,
qty int not null,
unit

你这个光给出表信息,没有注释,并且缩写太多,没有办法确定业务逻辑啊。写prc很简单,把字段注释都加上。5分钟给你搞定。
QQ 201547

CREATE PROCEDURE aaaaa//指定过程名
@num int//定义参数
AS//执行SQL语句
select * from 供应商
where 供应量>@num
GO

表有什么字段?

select 产品编号,产品名称,sum(销售量) as 年销售总额,
(case when sum(销售量)<=30000 then 单价*0.6 else 单价*0.7 end ) as 新单价
from 销售表 where year(日期)=2007 group by 产品编号,产品名称