Oracle insert all语句介绍

Oracle insert all语句介绍Oracle中insert语句的高级用法,INSERTALL语句介绍:1、无条件insertall全部插入CREATETABLEt1(product_idNUMBER,product_nameVARCHAR2(80),MONTHNUMBER);INSERTINTOt1VALUES(111,’苹果’,1);INSERTINTOt1VALUES(222,’橘…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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


1、无条件insert all 全部插入

Oracle 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行。

2、有条件insert all

Oracle 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 < 100000 THEN
        INTO small_orders
    WHEN order_total > 100000 AND order_total < 200000 THEN
        INTO medium_orders
    ELSE
        INTO large_orders
    SELECT order_id, customer_id, order_total, sales_rep_id 
      FROM orders;


3、有条件insert first

    如果第一个 WHEN 子句的值为 true,Oracle 服务器对于给定的行执行相应的 INTO 子句,
    并且跳过后面的 WHEN 子句(后面的when语句都不再考虑满足第一个When子句的记录,即使该记录满足when语句中的条件)。

INSERT FIRST
   WHEN ottl < 100000 THEN
      INTO small_orders
         VALUES(oid, ottl, sid, cid)
   WHEN ottl > 100000 and ottl < 200000 THEN
      INTO medium_orders
         VALUES(oid, ottl, sid, cid)
   WHEN ottl > 290000 THEN
      INTO special_orders
   WHEN ottl > 200000 THEN
      INTO large_orders
         VALUES(oid, ottl, sid, cid)
   SELECT o.order_id oid, o.customer_id cid, o.order_total ottl,
      o.sales_rep_id sid, c.credit_limit cl, c.cust_email cem
      FROM orders o, customers c
      WHERE o.customer_id = c.customer_id;
      
SELECT * FROM small_orders;
SELECT * FROM medium_orders;
SELECT * FROM large_orders;
SELECT * FROM special_orders;

———————————

By           Dylan.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160958.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 精准绝杀一波(皮筋穿透魔术教学)

    自从去年8月份币安推出BNB之后,各家交易所也纷纷向交易者售卖自家生产的平台币,并允诺出让部分红利给到买家。而其中,Fcoin以其创新的“交易挖矿”机制,圈得韭菜无数。领跑数字货币市场的平台币进入2017年熊市以来,数字货币市场上的领跑者无疑是各大交易所推出的平台币。自从去年8月份币安推出BNB之后,各家交易所也纷纷向交易者售卖自家生产的平台币,并允诺出让部分红利给到买家。常见的平台币让利策略可以…

    2022年4月17日
    379
  • cmdping命令_cmd ping端口命令

    cmdping命令_cmd ping端口命令标题cmd-ping命令一、ping命令:通过发送Internet控制消息协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机的IP级连接。相应的回响应答消息的接收情况将和往返过程的时间一起显示出来。Ping是用于检测网络连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。如果不带参数,ping将显示帮助。(ping-PacketInternet…

    2022年9月23日
    3
  • 根据两点经纬度计算距离

    根据两点经纬度计算距离在实际应用当中,一般是通过一个个体的编码来查找该编码对应的地区中心的经纬度,然后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮政编码对应的经纬度和酒店的经纬度所计算的距离范围-等等)。用GPS测出两个点的经纬度后,如何计算这两个点之间的距离呢?设两点A、B的经、纬度分别为(jA,wA)(jB,wB),则半径为

    2022年9月23日
    5
  • 【算法千题案例】每日一练LeetCode打卡——107.重塑矩阵「建议收藏」

    【算法千题案例】每日一练LeetCode打卡——107.重塑矩阵「建议收藏」算法题打卡:重塑矩阵。没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。所以说,树倒了,没有一片雪花是无辜的

    2022年10月20日
    3
  • JMESPath_jsonpath的用法

    JMESPath_jsonpath的用法前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

    2022年7月31日
    5
  • javascript原生态ajax_ajax22

    javascript原生态ajax_ajax22(对低版本的ie不作兼容处理了,太过时,不知道谁还用) 本次演示采用原生javascript+php实现ajax的 post 和 get功能; 对php不了解的同学不用担心,就两三行代码,而且我会详细说明; 好了,下面开始: 第一步:如果想要运行起来,那么还是需要开启服务器的,这里推荐使用wampserver,        下载相应的

    2022年8月16日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号