问题:oracle 两个表之间的修改;结果:ORACLE 两个表之间更新的实现

前提条件:

表info_user中有字段id和name,字段id为索引

表data_user_info中有字段id和name,字段id为索引

其中表info_user中字段id和表data_user_info中字段id数值一致。

要求实现:

更新表info_user中的字段name 与表data_user_info中字段name一致。

实现的SQL语句为:

update info_user i set (i.name) = (select  d.name from data_user_info d where d.id = i.id)
 
  where i.id = (select d.id from data_user_info d where d.id = i.id);

commit;

时间: 2024-10-15 05:31:37

问题:oracle 两个表之间的修改;结果:ORACLE 两个表之间更新的实现的相关文章

Oracle创建自增字段和修改方法-ORACLE SEQUENCE的简单介绍

http://blog.csdn.net/zhoufoxcn/article/details/1762351先假设有这么一个表: create table S_Depart  (    DepartId             INT                             not null,    DepartName           NVARCHAR2(40)                   not null,    DepartOrder          INT 

Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracle支持的数据类型: 字符型 char 定长 最大2000个字符 char(10)----'小韩' 前四个字符放'小韩',后添加6个空格补全.(查询效率高) varchar2(20) 变长 最大4000个字符 vachar2(10)----'小韩' oracle分配四个字符,这样可以节省空间. clo

【Oracle】表空间容量修改

1 -- 查看表空间容量 2 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", 3 D.TOT_GROOTTE_MB "表空间大小(M)", 4 D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", 5 TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') &qu

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT is SELECT ID,UNAME from g_users where utype=2 and STATUS>-1; begin for c in TABLE_DEPT loop INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID) VALUES(SYS

oracle相邻表记录交换(单双两两交换)

在博客园的博问中看到了一个这样的提问:一个表中有id和name两个字段,id是连续非空不重复的,想要交换相邻表记录的name值(单双两两交换). 另外,如果最后的单独行没有对应的下一行匹配记录的话,就不更新最后的单独行记录. 觉得有点意思,就试着实现一下(Oracle),并记录下来. 创建一个diosos表. -- 如果表存在,就删除表(方便测试) drop table diosos; -- 创建表 create table diosos(id int, name varchar(64)); 往

oracle创建表空间 扩展表空间文件 修改表空间自动增长

1. 创建表空间create tablespace SIRM2 datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 1024M --存储地址 初始大小1Gautoextend on next 10M maxsize unlimited   --每次扩展10M,无限制扩展EXTENT MANAGEMENT local  autoallocatesegment space management auto;2.创建用户 cre

Oracle非关键文件恢复,日志成员、临时文件、索引表空间、口令文件(密码文件)

关键性与非关键性 非关键性文件是指数据库和大多数应用程序没有它也能继续运行的文件.例如,如果数据库丢失了一个多路复用重做日志文件,仍可使用其它重做日志文件副本来保持数据库持续运行. 虽然丢失非关键性文件不会导致数据库崩溃,但它会削弱数据库的功能.例如: 丢失索引表空间会导致应用程序和查询的运行速度大幅减慢,或者,如果这些索引用于强制实施约束,则丢失后甚至会导致应用程序无法使用. 丢失联机重做日志组(只要不是当前联机日志组)会导致在 LGWR 下一次尝试写入组时数据库操作被挂起,直到生成新的日志文

oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图

    多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所在的部门名字 --(1)必须明确的指出重复字段属于哪个表 select ename,dname dept.deptno from emp,dept where emp.deptno = dept.deptno;   --(2)新语法:join...on(...=...) select ename,

3,外键之表关联关系,修改表,复制表

今日内容:  一:外键   一对多:   多对多:   一对一:  二:了解知识点   复制表   修改表相关操作     前戏:   所有的信息都在一张表中所带来的的问题    1,表的结构不清晰    2,浪费硬盘空间    3,表的扩展性极差(是一个很难逃避的缺点)   类似于我们把所有的代码都写在同一个py文件中    在确定表与表之间的关系时,一定要换位思考(必须两方都考虑周全之后才能得出结论)    以员工表和部门表为例:     先站在员工表看能否有多个员工对应一个部门      

Oracle生成查询包含指定字段名对应的所有数据表记录语句

应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,运行前修改成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库用户名变量,运行前修改成您要查询的数据库用户名mystring NV