2
我在第一次看到Oracle的多表插入(我對SQL總體上比較陌生),而且我並不完全理解在聲明結尾SELECT
的目的/需求。Oracle多表插入語法?
對於單表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;
使用的可變prod_category的值閱讀選擇第一:從表1選擇的x,y。對於每一行,當x ='Foo'時,插入到table2中,當x ='Bar'時,然後插入到table3中等等... – tbone