
正文
oracle两张表的更新数据库,oracle更新两个表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
急,在线等!如何在两个oracle数据库之间的相同结构的两个表实现数据的...
用union all select A.aa 列名1, A.bb 列名2,A.cc 列名3 from a union all select b.dd 列名1,b.ee 列名2,b.ff 列名3 from b 如果这么用不行,那么就在外面再套一层select,那么就应该没有问题了。
这个是可以的,不过要有权限,首先创建一个DBLINK,让数据库可以互相关联,假设要把A用户的a表数据复制给B用户b表就让B赋予连接A的权限,然后写SQL语句:INSERT INTO B.b (SELECT * FROM A.a); 这样就可以了。
给你个思路,先修改B表的表结构,增加A表中的两个列,然后更新B表,用来将A表中的数据插入到B表中对应的列。
如果两个数据库可以建立dblink,那么通过dblink就可以像在一个数据库一样去对比。如果不能建立dblink,那么就只能导出两行表,通过spool导出就可以。然后通过系统级别的命令去比对。我记得linux是有比较两个文件不同行的功能的。
相关问答
Q1: oracle同时更新两个表里字段
肯定是不可以的。首先,ORACLE没有UPDATE ... FROM这样的语法,这是SQLSERVER才支持的。另外,更新哪个表,是由UPDATE后边的表名决定的,所以通过语句一次只能更新一个表。
使用以下代码即可同时更新一个表中几个字段的值:updateASET(C1,C2,C3,C4)=(SELECTC1,C2,C3,C4FROMBWHEREID=A.ID)Oracle数据库最新版本为OracleDatabase12c。
觉得你应该先弄清楚oracle的常规数据字典的结构,像9i里的常规数据字典中对象名称就有以user,all,dba为前缀的对象。
Q2: oracle怎么同时更新两个表
1、按顺序更新,然后再commit 就可以了。
2、肯定是不可以的。首先,ORACLE没有UPDATE ... FROM这样的语法,这是SQLSERVER才支持的。另外,更新哪个表,是由UPDATE后边的表名决定的,所以通过语句一次只能更新一个表。
3、作者表 A (ID,NAME,AGE,SEX)其中ID为主键,文章表B(ID,AID,ARTICLE)其中ID为主键,AID为外键。
Q3: ORACLE数据库中的两张表怎么同步跟新?
技术实现:复制软件是采用交易复制的方式进行数据同步;灾备数据库上的Oracle数据库处于OPEN状态,可提供实时数据访问。数据复制的时延可以控制在3秒左右。
为方便完成指定数据表的同步操作,可以采用dblink与merge结合的方法完成。
写个触发器,在a表中insert数据的时候同时在b表中insert。写个存储过程,写两个insert语句,将数据同时insert到a表和b表中,在程序中调用存储过程。
下面介绍到的方式,严格意义上说,并没有实现实时同步。是通过Oracle数据库创建同义词+DBlink的方式,来建立远程映射。在查看数据时,直接去远程查询源库中的表。
Q4: Oracle数据库,关于关联两张表更新问题
1、作者表 A (ID,NAME,AGE,SEX)其中ID为主键,文章表B(ID,AID,ARTICLE)其中ID为主键,AID为外键。
2、按顺序更新,然后再commit 就可以了。
3、每天在异地的数据库内建立备份的三张表,表名格式为:表名_bak_日期 例如: day1_bak_20110627。这个好办, 一个数据库作业,每天零点开始创建表.由于执行的是 建表语句, 可能要使用 动态SQL 来处理。
4、如果test_table2 表中只有一条数据,那么是没有问题的。我觉得你这两个表一定是要有关联关系的,不然这个update语句没什么意义。
5、设定dept表deptno列为主键。alter table dept add constraint pk_deptno primary key (deptno);在emp表deptno列上建立外键引用dept表deptno,指定外键类型为级联删除。
Q5: 在oracle中怎样用一条sql语句更新两张有主外键关系的表的记录
写个触发器,在a表中insert数据的时候同时在b表中insert。写个存储过程,写两个insert语句,将数据同时insert到a表和b表中,在程序中调用存储过程。
update 表名 set 字段名=需要的值 where 字段=条件 where中的条件最好是主键,oracle自动给主键加索引,这样数据库大的时候能快的多。
主外键关联跟记录数没啥关系啊。除非你业务上有什么逻辑,要不无异于一条语句差两张无关表的记录数。
特别提醒:如果T_USER表中的一个USER_ID在T_NAME_MAP 表中存在两条以上的记录,则该语句会报错。因为Oracle是无法辨别你要“更新”哪一条的。
如果是在程序里运行的话,很有可能是程序没有走插入语句的 sql 所有没有插入。首先插入表的时候,需要确认表字段,主键及非空情况。主键和非空字段都必须要录入的。
这种面试题还真变态啊,现实编码根本不会这么干的啊。
oracle两张表的更新数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle更新两个表、oracle两张表的更新数据库的信息别忘了在本站进行查找喔。






