一切皆有可能。
如表A(id number,name varchar2(10),modi_date date,c1 number,c2,number);
表B(id varchar2(10),name number,modi_date varchar2(8),c5 varchar2(20))
insert into B(id,name,modi_date,c5)
select cast(id as number),cast(name as varchar2(10)),to_char(modi_date,'yyyymm'),
cast(null as varchar2(20))
from A
-- 因为表字段间数据类型不一样,所以不一样的要加上 cast( 字段 as 数据类型),
否则插入失败
实现的方法和详细的 *** 作步骤如下:
1、第一步,如果要从Oracle实例orcl导出多个dmp文件表,则在打开cmd窗口后,首先设置环境变量以将Oracle实例切换为orcl(设置ORACLE_SID
= orcl),然后登录到sqlplus
,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,可以使用sql语句“select from dba_directories”以查看当前实例下可用的dmp导出目录。
导出dmp文件时,可以选择其中之一,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,退出sqlplus并使用命令“expdp”导出需要的数据库表dmp文件,如下图所示,然后进入下一步。
4、最后,完成上述步骤后,就可以将该文件导入实例orcl中的另一个用户,如下图所示。这样,问题就解决了。
在oracle中将查询到的数据插入到另一个表中:
1、Insert into t_tab
2、select from s_tab where 条件
Oracle Database,又名Oracle RDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
使用create tableas select fromwhere这样的语法。
该语句将后面select的结果,生成一张新的表中。
可以将select语句写好,select后面要指明字段。然后在前面的加上create table 表名。这样数据就会生成到新的表上。
如果是在程序里运行的话,很有可能是程序没有走插入语句的 sql 所有没有插入。
首先插入表的时候,需要确认表字段,主键及非空情况。主键和非空字段都必须要录入的。
其次需要看每个字段的类型和插入字段的类型是否相符,如果日期型字段硬要插入字符串型是插入不进去的。
再者注意看表字段的长度,我定义字段20个字符串的话,你插入长字符串也插入不进去的。
最后还得看你用什么程序:
如果C语言的话
insert(node head, int i, int x)
中的head的内容,是无法完成目的的。
因为C在传递参数时采用的是传值调用。
因此必须修改函数原型为
insert(node head,int i,int x)
如果其它语言的话一般都指定 insert(字段1,字段2,)values('x','y');
以上就是关于oracle 怎么在同一个数据库里把一张表的数据插入另一张表,表结构不同全部的内容,包括:oracle 怎么在同一个数据库里把一张表的数据插入另一张表,表结构不同、oracle如何向一张表导入另一张表的部分数据、在oracle中怎么将查询到的数据插入到另一个表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)