【问题标题】:Oracle Multi-Table Insert Syntax?Oracle 多表插入语法?
【发布时间】: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


【解决方案1】:

select用于确定WHEN prod_category='B' THEN中使用的变量prod_category的值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    相关资源
    最近更新 更多