oracle表创建存储过程生成insert语句保存到文件中,求教这个存储过程要怎么写?就是对一张表创建一个存储过程 ,能生成出insert插入语句的,并且执行这个存储就可以保存结果到一个文件中。以便我将数据插入到一个sql server中。表的数据量还是比较大的,有几百万条。所以想到有存储过程先把数据拿出来。表字段有二三十个,表名:JZ31.TCL_CUSTBASEINFO简单点就好,没有复杂的判断。。由于个人对存储过程不太了解,看了许多例子都比较复杂,写不出来自己想要的,求教各位达人了
解决方案 »
- 求助!oracle lpad和rpad返回值的问题!在线等~解决就给分~谢谢各位大虾
- oracle JOB自动停止的问题
- oracle存储过程如何取动态字段内容(临时表)并汇总合并输出数据集??
- ORACLE狂慢,请大家帮忙,关系到饭碗!谢谢大家
- 疑惑:关于Oracle占用内存的问题,能不能在不使用的时候将其内存释放掉?
- 请问在pl/sql中select * from table1@link_busi是什么意思?
- Oracle 的 OracleStartORCL服务 无法启动,请前辈们帮帮忙。
- 在oracle能设定像sql server2000那样的自动标识ID么?
- 应用程序如何共享会话??
- 请教关于在Oracle中使用定时任务
- oracle 临时表问题
- WIN7 64位 + Toad for oracle 11.6 64b + oracle client 11.2 64b 配置成功
并且需要在java中执行存储
不能用工具的,我这是一个工程定时取数据的。每周都需要取一次数据我没想到什么好方法,只想到了用utl_file 写入文件。效率可能不怎么好。
create or replace directory DIR_TEST as 'D:\';
create table c(c1 varchar2(10),c2 date,c3 number);
insert into c values('a',sysdate,1);
insert into c values('b',sysdate-1,11);
insert into c values('c',sysdate-2,111);
insert into c values('d',sysdate-3,1111);
insert into c values('e',sysdate-4,11111);
commit;declare
v varchar2(1000);
v1 varchar2(100);
v2 varchar2(100);
out_file utl_file.file_type; --定义一个文件类型
begin out_file := utl_file.fopen('DIR_TEST', 'insert.sql', 'W'); --输出insert脚本到文件
for w in (select * from c) loop
--处理字符型
v1 := '''' || w.c1 || '''';
--处理日期型
v2 := 'to_date(''' || to_char(w.c2, 'yyyymmdd hh24:mi:ss') ||
''',''yyyymmdd hh24:mi:ss'')';
v := 'insert into c values(' || v1 || ',' || v2 || ',' || w.c3 || ');';
utl_file.put_line(out_file, v);
end loop; --关闭文件流
utl_file.fflush(out_file);
utl_file.fclose(out_file);
end;
oracle数据库我操作不了。不过现在问题解决了。用程序跑批解决了,虽然比较麻烦。