需要将某张表的数据导出,将该表右键导出为SQL文件,然后,打开新的数据库,
查看新数据库默认的表空间
select username,default_tablespace from user_users;
新建--〉Command Window, 将SQL文件中的表空间信息修改为上面查询到的表空间,如下面的tablespace信息
tablespace USERS pctfree 10 initrans 1 maxtrans 255; ....... --create index IDX_SUB_RESOURCE on RABC_SUB_RESOURCE (RESOURCE_ID) tablespace USERS
如果SQL语句不多,直接COPY下来,粘贴到Command Window中,如果SQL文件比较大,COPY 到不含中文的目录下,在命令中输入@d:\test.sql
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 Connected as peplat SQL> @C:\Documents and Settings\wu\桌面\test\2014-10-20_SAIRPORT.sql Error reading file SQL> @d:\test\2014-10-20_SAIRPORT.sql Table created Comment added Table altered 1 row inserted 1 row inserted
成功导入数据。
需要更新开发库中的表的字段, 批量更新的SQL写法:
ORACLE中批量更新表
--更新机组信息
update tb_pointconfig a set (GENERATORID)= (select decode(b."GroupId",1,13,2,14) as JZ from sssj b where a.uploadid=b."Id" and a.factoryid=9 and (b."GroupId"=1 or b."GroupId"=2))
--使用MERGE方法更新数据
MERGE INTO tb_realtimedatavalue a USING tb_pointconfig b ON (a.fid = b.factoryid and a.uploadid=b.uploadid) WHEN MATCHED THEN UPDATE SET a.pointid = b.id WHERE a.fid=13
需要将Execel 表里面的数据导入到 Oracle 表中, 如果数据量比较大, 可以使用 SQL DEV 里面的 Tools / Odbc Importer , 打开后, 选择标签 Data From Odbc , 选择类型 Execel Files 填写用户名密码。
然后选择 Data to Oracle 标签, 选择 Oracle 的用户名和表名, 选择字段和字段类型
最后, 点击 Import 导入数据.
导 CSV 文本格式选择Text Importor, 点左上角的图标导入文件,设置格式类似,遇到了文本转换为日期的问题,Text 日期格式为 2014-10-24 10:20:20.000 带毫秒的,to_date 函数无法转化,使用 to_timestamp('2011-12-15 10:40:10.345', 'yyyy-MM-dd HH24:MI:ss.ff')
日期解决http://blog.csdn.net/h249059945/article/details/8551820
有时发现导入CSV文件内容是乱码,需要导CSV 文件时设置为 GBK 编码:
NAVICAT 数据库管理工具为例:
update 方式更新数据,ORACLE和MSSQLSERVER支持的关联语句不一样。
MSSQL:
update s SET s.ZPSG = Isnull(i.PSG, 0) from S***s s, S***_In*** i where i.A*****om=s.A*****om and s.F*****te = '2015-11-05'
ORACLE:
UPDATE S***S S SET S.ZPSG = (SELECT ZPSG FROM S***IMPORT_ZPSG I WHERE S.ID = I.ID)
参考; http://hi.baidu.com/cuihenrychl/item/3c720c30f7f84398c3cf29e2
需要更新开发库中的表的字段, 批量更新的SQL写法:
ORACLE中批量更新表
--更新机组信息
update tb_pointconfig a set (GENERATORID)= (select decode(b."GroupId",1,13,2,14) as JZ from sssj b where a.uploadid=b."Id" and a.factoryid=9 and (b."GroupId"=1 or b."GroupId"=2))
--使用MERGE方法更新数据
MERGE INTO tb_realtimedatavalue a USING tb_pointconfig b ON (a.fid = b.factoryid and a.uploadid=b.uploadid) WHEN MATCHED THEN UPDATE SET a.pointid = b.id WHERE a.fid=13
需要将Execel 表里面的数据导入到 Oracle 表中, 如果数据量比较大, 可以使用 SQL DEV 里面的 Tools / Odbc Importer , 打开后, 选择标签 Data From Odbc , 选择类型 Execel Files 填写用户名密码。
然后选择 Data to Oracle 标签, 选择 Oracle 的用户名和表名, 选择字段和字段类型
最后, 点击 Import 导入数据.
导 CSV 文本格式选择Text Importor, 点左上角的图标导入文件,设置格式类似,遇到了文本转换为日期的问题,Text 日期格式为 2014-10-24 10:20:20.000 带毫秒的,to_date 函数无法转化,使用 to_timestamp('2011-12-15 10:40:10.345', 'yyyy-MM-dd HH24:MI:ss.ff')
日期解决http://blog.csdn.net/h249059945/article/details/8551820
有时发现导入CSV文件内容是乱码,需要导CSV 文件时设置为 GBK 编码:
NAVICAT 数据库管理工具为例:
update 方式更新数据,ORACLE和MSSQLSERVER支持的关联语句不一样。
MSSQL:
update s SET s.ZPSG = Isnull(i.PSG, 0) from S***s s, S***_In*** i where i.A*****om=s.A*****om and s.F*****te = '2015-11-05'
ORACLE:
UPDATE S***S S SET S.ZPSG = (SELECT ZPSG FROM S***IMPORT_ZPSG I WHERE S.ID = I.ID)
参考; http://hi.baidu.com/cuihenrychl/item/3c720c30f7f84398c3cf29e2