【发布时间】:2014-11-16 02:58:08
【问题描述】:
我正在为小型电子商务设计一个数据仓库,我需要从两个表 product 和 product_price_history 填充产品的维度表。为简单起见,假设每个表的列如下:
产品(prod_id,品牌) product_price_history (prod_id, price, min_pirce, start_date, end_date) product_dim (prod_key, prod_id, brand, price, min_pirce, start_date, end_date)
我已经有一个名为 prod_seq 的序列来为 product_dimension 表生成键。这是我到目前为止的程序,但我收到了错误:
create or replace
procedure populate_product_dimension AS
BEGIN
INSERT into product_dim (prod_key, prod_id, brand, price, min_pirce, start_date, end_date)
SELECT seq_prod.nextval FROM DUAL
SELECT prod_id, brand
FROM product
SELECT price, min_pirce, start_date, end_date
FROM product_price_history
WHERE prod_id.product_pric_history = prod_id.product &
prod_id not in(select prod_id from product_dim);
Commit;
End populate_product_dimension;
我认为问题可能与我添加 prod_key 的方式有关。有谁知道更好的方法吗?
【问题讨论】:
标签: sql oracle plsql procedures