【发布时间】:2014-02-16 21:51:13
【问题描述】:
我第一次看 Oracle 的多表插入(我对 SQL 整体还是很陌生),我不太了解语句末尾的 SELECT 的目的/需要。
对于单表INSERT,我的理解是使用VALUES 子句或子查询,但不能同时使用两者。有人可以解释INSERT 语句末尾的SELECT 子句的重要性吗?我上网查了,没有找到明确的答案。
INSERT ALL
WHEN prod_category='B' THEN
INTO book_sales(prod_id,cust_id,qty_sold,amt_sold)
VALUES(product_id,customer_id,sale_qty,sale_price)
WHEN prod_category='V' THEN
INTO video_sales(prod_id,cust_id,qty_sold,amt_sold)
VALUES(product_id,customer_id,sale_qty,sale_price)
WHEN prod_category='A' THEN
INTO audio_sales(prod_id,cust_id,qty_sold,amt_sold)
VALUES(product_id,customer_id,sale_qty,sale_price)
SELECT prod_category ,product_id ,customer_id ,sale_qty, sale_price
FROM sales_detail;
【问题讨论】:
-
先读取选择:从table1中选择x,y。对于每一行,当x='Foo'时,插入table2,当x='Bar'时,再插入table3等...
标签: sql oracle sql-insert