oracle更新多个字段的数据(oracle更新字段的数据了解)

概述今天主要介绍一下Oracle数据库中多表关联批量插入、多表关联批量更新和多表关联批量删除。下面用实验来理解下~一、创建必须的表和序列语句–创建部门表dept:CREATETABLEdept(deptnoNUMBER(2)CONST

概述

今天主要介绍一下Oracle数据库中多表关联批量插入、多表关联批量更新和多表关联批量删除。下面用实验来理解下~

一、创建必须的表和序列语句

--创建部门表 dept:
CREATE TABLE dept
(
deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
dname VARCHAR2(14) ,
loc VARCHAR2(13) ,
CREATEDTIME DATE,
UPDATEDTIME DATE,
CREATEDBY NUMBER(7,0),
UPDATEDBY NUMBER(7,0)
) ;

--创建员工表 emp:
CREATE TABLE emp
( empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
ename VARCHAR2(10),
job VARCHAR2(15),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT,
CREATEDTIME DATE,
UPDATEDTIME DATE,
CREATEDBY NUMBER(7,0),
UPDATEDBY NUMBER(7,0)
);

--创建员工表 emp_copy:
CREATE TABLE emp_copy
( empno NUMBER(4),
ename VARCHAR2(10),
job VARCHAR2(15),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2),
CREATEDTIME DATE,
UPDATEDTIME DATE,
CREATEDBY NUMBER(7,0),
UPDATEDBY NUMBER(7,0)
);
--自定义一个序列
create sequence emp_sequence
increment by 1 --每次增加几个,我这里是每次增加1
start with 1 --从1开始计数
nomaxvalue --不设置最大值
nocycle --一直累加,不循环
nocache --不建缓冲区
;
--插入dept表数据:
INSERT INTO dept VALUES(10,\'ACCOUNTING\',\'NEW YORK\',sysdate,sysdate,123123,123123);
INSERT INTO dept VALUES (20,\'RESEARCH\',\'DALLAS\',sysdate,sysdate,123123,123123);
INSERT INTO dept VALUES(30,\'SALES\',\'CHICAGO\',SYSDATE,SYSDATE,123123,123123);
INSERT INTO dept VALUES(40,\'OPERATIONS\',\'BOSTON\',sysdate,sysdate,123123,123123);

--插入emp表数据:
INSERT INTO emp VALUES(7369,\'SMITH\',\'CLERK\',7902,to_date(\'17-12-1980\',\'dd-mm-yyyy\'),800,NULL,20,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7499,\'ALLEN\',\'SALESMAN\',7698,to_date(\'20-2-1981\',\'dd-mm-yyyy\'),1600,300,30,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7521,\'WARD\',\'SALESMAN\',7698,to_date(\'22-2-1981\',\'dd-mm-yyyy\'),1250,500,30,SYSDATE,SYSDATE,123123,123123);
INSERT INTO emp VALUES(7566,\'JONES\',\'MANAGER\',7839,to_date(\'2-4-1981\',\'dd-mm-yyyy\'),2975,NULL,20,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7654,\'MARTIN\',\'SALESMAN\',7698,to_date(\'28-9-1981\',\'dd-mm-yyyy\'),1250,1400,30,SYSDATE,SYSDATE,123123,123123);
INSERT INTO emp VALUES(7698,\'BLAKE\',\'MANAGER\',7839,to_date(\'1-5-1981\',\'dd-mm-yyyy\'),2850,NULL,30,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7782,\'CLARK\',\'MANAGER\',7839,to_date(\'9-6-1981\',\'dd-mm-yyyy\'),2450,NULL,10,SYSDATE,SYSDATE,123123,123123);
INSERT INTO emp VALUES(7788,\'SCOTT\',\'ANALYST\',7566,to_date(\'19-4-87\',\'dd-mm-yyyy\'),3000,NULL,20,SYSDATE,SYSDATE,123123,123123);
INSERT INTO emp VALUES(7839,\'KING\',\'PRESIDENT\',NULL,to_date(\'17-11-1981\',\'dd-mm-yyyy\'),5000,NULL,10,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7844,\'TURNER\',\'SALESMAN\',7698,to_date(\'8-9-1981\',\'dd-mm-yyyy\'),1500,0,30,SYSDATE,SYSDATE,123123,123123);
INSERT INTO emp VALUES(7876,\'ADAMS\',\'CLERK\',7788,to_date(\'23-5-87\',\'dd-mm-yyyy\'),1100,NULL,20,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7900,\'JAMES\',\'CLERK\',7698,to_date(\'3-12-1981\',\'dd-mm-yyyy\'),950,NULL,30,sysdate,sysdate,123123,123123);
INSERT INTO emp VALUES(7902,\'FORD\',\'ANALYST\',7566,to_date(\'3-12-1981\',\'dd-mm-yyyy\'),3000,NULL,20,SYSDATE,SYSDATE,123123,123123);
INSERT INTO emp VALUES(7934,\'MILLER\',\'CLERK\',7782,to_date(\'23-1-1982\',\'dd-mm-yyyy\'),1300,NULL,10,sysdate,sysdate,123123,123123);

oracle更新多个字段的数据(oracle更新字段的数据了解)

其中e.job = t.job and e.ename = t.ename只是展示可以关联多个条件,这里有一个关键点为 USING ( … ) t 中查询到的是一个list,而merge可以对匹配到的list进行批量更新

四、多表关联批量删除

要求:批量删除部门dept表 loc在 CHICAGO的,且工资小于1500的人员信息

 DELETE FROM( SELECT c.* FROM emp c,dept d WHERE d.deptno = c.deptno
AND d.loc = \'CHICAGO\' and c.sal < 1500);

oracle更新多个字段的数据(oracle更新字段的数据了解)

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

oracle更新多个字段的数据(oracle更新字段的数据了解)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/32834.html

(0)
nan
上一篇 2021-10-05
下一篇 2021-10-05

相关推荐

  • Storm中的水平伸缩性是如何工作的

    在Storm中,水平伸缩性是通过动态调整工作节点数量来实现的。Storm允许用户根据负载的变化来增加或减少工作节点的数量,以保持系统的性能和可靠性。具体来说,当负载增加时,用户可以通过添加更多的工作节点来分担负载,从而提高系统的处理能力。反之,当负载减少时,用户可以减少工作节点的数量,以节省资源并降低成本。Storm会自动地重新分配任务并调整拓扑结构,以适应工作节点数量的变化,从而保证系统的平稳运

    2024-03-07
    0
  • MongoDB的索引如何管理与维护

    MongoDB的索引管理与维护可以通过以下几种方式进行:创建索引:可以使用createIndex()方法在MongoDB中创建索引。在创建索引时,可以指定索引的字段以及排序方式。查看索引:可以使用getIndexes()方法查看集合中已经存在的索引。删除索引:可以使用dropIndex()方法删除指定的索引。索引优化:可以使用explain()方法来查看查询执行计划,从而优化查询性能。可以对查询语

    2024-05-07
    0
  • 如何让百度口碑收录自己的网站(怎么样让自己的网站被百度收录)

    如何让百度口碑收录自己的网站,怎么样让自己的网站被百度收录内容导航:怎么把自己的网站加入百度口碑怎么让百度快速收录自己的网站百度口碑怎么才能收录公司的信息怎样让百度收录你的网站一、怎么把自己的网站加入百度口碑准备好网站的相关介绍和网址,在后台进行注册登记,这样通过审核后就可以出现在口碑里面二、

    2022-05-06
    0
  • Stable Diffusion怎么处理复杂系统的模拟和预测

    稳定扩散是一种用于模拟和预测复杂系统行为的数学方法,它可以帮助我们了解系统中不同组分之间的相互作用和运动规律。在处理复杂系统的模拟和预测时,稳定扩散可以通过以下几个步骤来实现:确定系统的边界和初始条件:首先需要明确系统的边界条件和初始状态,包括系统中的各种组分、它们之间的相互作用和初始位置。建立数学模型:根据系统的特点和相互作用规律,构建适当的数学模型,描述不同组分之间的扩散和运动过程。可以使用偏

    2024-05-17
    0
  • 百度推广如何设置广泛匹配(百度推广的匹配方式)

    百度推广如何设置广泛匹配,百度推广的匹配方式内容导航:怎样合理使用百度推广广泛匹配百度推广中关键词匹配方式分为哪几种百度推广匹配模式设置技巧百度推广个人怎么开户呢百度端口渠道代理哪里有百度推广匹配模式设置技巧是什么一、怎样合理使用百度

    2022-04-17
    0
  • ubuntu自启动程序如何退出

    要让 Ubuntu 中的自启动程序退出,您可以使用以下方法之一:通过终端手动停止程序:打开终端,输入 ps -aux | grep [程序名称] 查找程序的进程号,然后输入 kill -9 [进程号] 命令来终止程序。通过图形界面停止程序:如果程序有图形界面,则可以尝试点击窗口右上角的关闭按钮或者在程序界面中查找退出选项。禁用自启动:如果您不想让程序在系统启动时自动运行,可以在系统设置中找到启动应

    2024-06-12
    0

发表回复

登录后才能评论