Home > Database > Mysql Tutorial > Oracle insert all语句介绍

Oracle insert all语句介绍

WBOY
Release: 2016-06-07 16:49:50
Original
2652 people have browsed it

Oracle 中insert语句的高级用法,INSERT ALL 语句介绍:

Oracle 中insert语句的高级用法,,INSERT ALL 语句介绍:

1、无条件insert all 全部插入

CREATE TABLE t1(product_id NUMBER, product_name VARCHAR2(80),MONTH NUMBER);

INSERT INTO t1 VALUES(111, '苹果',1);
INSERT INTO t1 VALUES(222, '橘子',1);
INSERT INTO t1 VALUES(333, '香蕉',1);

COMMIT;

CREATE TABLE t2 AS SELECT * FROM t1 WHERE 1=2;

INSERT ALL
    INTO t2
    VALUES (product_id, product_name,MONTH)
    INTO t2
    VALUES (product_id, product_name,MONTH+1)
    INTO t2
    VALUES (product_id, product_name,MONTH+2)
    INTO t2
    VALUES (product_id, product_name,MONTH+3)
SELECT product_id, product_name, MONTH
FROM t1;

COMMIT;

SELECT * FROM t2 ORDER BY product_id, product_name, MONTH;

---------- ---------- ----------
        111 苹果                1
        111 苹果                2
        111 苹果                3
        111 苹果                4
        222 橘子                1
        222 橘子                2
        222 橘子                3
        222 橘子                4
        333 香蕉                1
        333 香蕉                2
        333 香蕉                3
        333 香蕉                4

已选择12行。

Oracle- insert性能优化

Oracle数据库中无法对数据表进行insert和update操作解决

Oracle数据库中无法对数据表进行insert和update操作解决

Oracle insert的扩展

Oracle的多表insert操作

2、有条件insert all

 

CREATE TABLE small_orders
(order_id  NUMBER(12) NOT NULL,
 customer_id    NUMBER(6) NOT NULL,
 order_total    NUMBER(8,2),
 sale_rep_id    NUMBER(6)
   
);

CREATE TABLE medium_orders AS SELECT * FROM small_orders;

CREATE TABLE large_orders AS SELECT * FROM small_orders;

CREATE TABLE special_orders
(order_id  NUMBER(12)  NOT NULL,
 customer_id    NUMBER(6)  NOT NULL,
 order_total    NUMBER(8,2),
 sale_rep_id    NUMBER(6),
 credit_limit  NUMBER(9,2),
 cust_email    VARCHAR2(30)

);

INSERT ALL
    WHEN order_total         INTO small_orders
    WHEN order_total > 100000 AND order_total         INTO medium_orders
    ELSE
        INTO large_orders
    SELECT order_id, customer_id, order_total, sales_rep_id
      FROM orders;

更多详情见请继续阅读下一页的精彩内容:

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template