Oracle insert all语句介绍

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


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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • C语言逆序输出整数[通俗易懂]

    C语言逆序输出整数[通俗易懂]在很多编程练习中都会遇到关于数字方面的题目,其中比较常见的一种是逆序输出整数。下面我给出一个最简单的例子。#include&lt;stdio.h&gt;intmain(){intx;inti;intsum=0;printf("请输入一个整数:");scanf("%d",&amp;x);while(x!=0)…

    2022年7月24日
  • 短视频创作的技巧是什么_短图文创作特点

    短视频创作的技巧是什么_短图文创作特点现在短视频越来越受到大众的喜爱,大概现在每个人坐车休假吃饭都在拿着手机刷着短视频,可见现在短视频对于现在的人来说还是挺普遍的,那么很多人都想从事短视频行业应该如何去进行创作呢,下面就和大家分享平时我会用到的一些小技巧。构思框架在做短视频的时候一定不要想着能够一夜爆火,当然如果你的作品足够优质,那也不排除这样的可能,首先需要你先考虑的是各种因素,主题、定位和内容连贯性,还有视觉效果。在确定主题后,要做好计划,如拍摄方向、表达形式。时间一定要把握住短视频的时长,因为现在短视频推送都是讲究一个完播

    2022年10月5日
  • vue跨域解决方案_vueaxios跨域请求

    vue跨域解决方案_vueaxios跨域请求vue跨域解决方案在浏览器里面只要域名,端口,ip地址,协议,有任何不同则为跨域如:A网站:http://localhost:8080/B网站:http://localhost:3030/已经跨域解决方案:JOSNP(只能处理get请求)cors(后端开启)axios服务器代理跨域只存在浏览器中服务器之间不存在跨域所以可以通过服务器代理(在后端不给配置的情况下)1.先下载axios2.先创建一个vue.config.js文

    2022年10月1日
  • app数据库表的设计_订单数据库设计

    app数据库表的设计_订单数据库设计近期公司要着手一个商城的项目,后台那边暂时有项目。让我设计一下数据库。这是我总结设计的,记录下日后完善。

    2022年9月12日
  • fcn全卷积神经网络搭建_区域卷积神经网络

    fcn全卷积神经网络搭建_区域卷积神经网络文章目录简介核心思想网络结构上采样Upsampling跳级结构CNN与FCN的区别与联系网络训练过程存在问题【参考】简介全卷积网络(FullyConvolutionalNetworks,FCN)是JonathanLong等人于2015年在FullyConvolutionalNetworksforSemanticSegmentation一文中提出的用于图像语义分割的一种框架,是深度学习用于语义分割领域的开山之作。FCN将传统CNN后面的全连接层换成了卷积层,这样网络的输出将是热力图而非类

    2022年9月25日
  • JSONObject与JSONArray的使用

    JSONObject与JSONArray的使用

    2021年12月3日

发表回复

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

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