zoukankan      html  css  js  c++  java
  • Oracle使用子查询一次性更新或插入多条语句

    1.insert子查询

    以下例子先创建一个表,然后把已有表emp中的数据插入到该表中。

    SQL> create table mytab(id number(4),ename varchar2(20),deptno number(4));

    表已创建。

    SQL> desc emp;
    名称                                      是否为空? 类型
    ----------------------------------------- -------- ----------------------------

    EMPNO                                     NOT NULL NUMBER(4)
    ENAME                                              VARCHAR2(10)
    JOB                                                VARCHAR2(9)
    MGR                                                NUMBER(4)
    HIREDATE                                           DATE
    SAL                                                NUMBER(7,2)
    COMM                                               NUMBER(7,2)
    DEPTNO                                             NUMBER(2)

    SQL> insert into mytab select empno,ename,deptno from emp where deptno=10;

    已创建3行。

    SQL> select * from mytab;

            ID ENAME                                        DEPTNO
    ---------- ---------------------------------------- ----------
          7782 CLARK                                            10
          7839 KING                                             10
          7934 MILLER                                           10

    SQL>

    2.update子查询

    更新SCOTT的岗位、工资、奖金都与SMITH一样。

    update emp set job=(select job from emp where ename='SMTIH') ,
    sal=(select sal from emp where ename='SMTIH')

    where ename='SCOTT';


    update emp set(job,sal,comm) =(select job,sal,comm from emp where ename='SMITH') where ename='SCOTT';

  • 相关阅读:
    数据库设计模式
    PostGreSQL数据库的导入导出
    [webGIS开发]为什么要把空间数据发布成地图服务,不能直接访问空间数据库呢?
    PostGIS三维对象
    数据库之触发器
    飞鸽内网穿透
    Ubuntu服务器上Anaconda新建虚拟环境(激活和取消)以及安装各个依赖包
    Ubuntu服务器上Anaconda新建虚拟环境(激活和取消)以及安装各个依赖包
    你还不会用python画蛋糕???
    在线追番软件
  • 原文地址:https://www.cnblogs.com/tazi/p/2311578.html
Copyright © 2011-2022 走看看