
正文
oracle两个表更新数据库,oracle用一个表的数据更新另一个表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle通过两张表更新一张表
WHERE EXISTS (SELECT 1 FROM T_NAME_MAP C WHERE A.USER_ID = C.USER_ID );特别提醒:如果T_USER表中的一个USER_ID在T_NAME_MAP 表中存在两条以上的记录,则该语句会报错。
假设表a中有多个字段(province ,city)需要从b表获取(两张表的mobile一样),总结了几种写法。
db244是本地配置的指向另一个数据库的Oracle Net;select * from users@sync;users是另一个数据库中的一张表。
而不必纠结后边查询的具体是什么信息。只是把主表的字段传进去作为EXISTS里面的WHERE条件连接,如果遇到第一个符合条件的数据,就会跳出,而不是执行全表的检索。所以,里面并不会执行全表查询。
update a set a.va=(select max(va) from b where b.code=a.code) 这个是套用了一层子查询,等于说每次在A里面取一个CODE就查一次B表去匹配一次去更新。
相关问答
Q1: ORACLE数据库中的两张表怎么同步跟新?
为方便完成指定数据表的同步操作,可以采用dblink与merge结合的方法完成。
每天在异地的数据库内建立备份的三张表,表名格式为:表名_bak_日期 例如: day1_bak_20110627。这个好办, 一个数据库作业,每天零点开始创建表.由于执行的是 建表语句, 可能要使用 动态SQL 来处理。
建议如下 你可以写个存储过程来同步数据。数据库直接的链接可以通过DBLink来实现。在建一个job来跑,同步数据。
真实的应用环境下不会使用触发器来实现这个功能。一般使用OGG、DSG这样的第三方同步工具。
Oracle如何实现两个数据库的同步(用实体化视图实现)(Oracle快照实例) 技术实现细节 除非特别说明,下面的SQL命令都是在数据库ora_db2的SYSETM用户下运行的。
Q2: oracle怎么同时更新两个表
按顺序更新,然后再commit 就可以了。
肯定是不可以的。首先,ORACLE没有UPDATE ... FROM这样的语法,这是SQLSERVER才支持的。另外,更新哪个表,是由UPDATE后边的表名决定的,所以通过语句一次只能更新一个表。
作者表 A (ID,NAME,AGE,SEX)其中ID为主键,文章表B(ID,AID,ARTICLE)其中ID为主键,AID为外键。
你可以写一个触发器,在B表的插入之后更新A表。或者直接写UPDATE A SET A.TEXT = A.TEXT||NVL((SELECT B.TEXT FROM B WHERE B.ID = A.ID),)不过以上语句要保证ID是表的主键或是可以通过ID唯一确定一行数据。
关于oracle两个表更新数据库和oracle用一个表的数据更新另一个表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






