根据上述表格使用PL/SQL语言写出,按月份统计产品的购买数量和购买金额,展示内容为:月份,产品,购买数量、购买金额。
时间: 2024-12-17 12:17:36 浏览: 6
在Oracle数据库中,我们可以使用PL/SQL编写一段脚本来实现这个需求。假设表名为`stock_transactions`,字段分别为`transaction_date`(日期),`product_code`(产品编码),`security_code`(证券代码),`quantity`(购买数量),`market_value`(购买金额)。下面是示例代码:
```sql
DECLARE
CURSOR c_month_data IS
SELECT EXTRACT(MONTH FROM transaction_date) AS month,
product_code,
SUM(quantity) AS total_quantity,
SUM(market_value) AS total_amount
FROM stock_transactions
GROUP BY EXTRACT(MONTH FROM transaction_date), product_code;
TYPE record_type IS OBJECT (
month NUMBER,
product VARCHAR2(10),
total_quantity NUMBER,
total_amount NUMBER
);
row_record record_type;
BEGIN
OPEN c_month_data;
LOOP
FETCH c_month_data INTO row_record;
EXIT WHEN c_month_data%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('月份: ' || row_record.month);
DBMS_OUTPUT.PUT_LINE('产品: ' || row_record.product);
DBMS_OUTPUT.PUT_LINE('购买数量: ' || row_record.total_quantity);
DBMS_OUTPUT.PUT_LINE('购买金额: ' || row_record.total_amount);
END LOOP;
CLOSE c_month_data;
END;
/
```
这段代码首先创建了一个游标`c_month_data`,对每个月的产品进行分组并计算购买数量和金额总和。然后定义了一个匿名类型`record_type`来存储结果。循环遍历游标,并将每个记录打印出来。
运行此脚本,你将会看到按月份和产品分类的购买数量和购买金额汇总。
阅读全文