oracle :把表里的数据导成insert语句

oracle :把表里的数据导成insert语句

ID:15392210

大小:26.50 KB

页数:4页

时间:2018-08-03

oracle :把表里的数据导成insert语句_第1页
oracle :把表里的数据导成insert语句_第2页
oracle :把表里的数据导成insert语句_第3页
oracle :把表里的数据导成insert语句_第4页
资源描述:

《oracle :把表里的数据导成insert语句》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Oracle:把表里的数据导成insert语句.txt昨天是作废的支票;明天是尚未兑现的期票;只有今天才是现金,才能随时兑现一切。人总爱欺骗自己,因为那比欺骗别人更容易。把表里的数据导成insert语句2003-10余枫Internet上还有一种免费的MYSQL数据库很流行。有些时候我们需要把oracle里的数据导入MYSQL里。生成insertinto表名....是一种很简单直接的方法。今年六月份从www.arikaplan.com/oracle.html看到一个可以生成insertinto表名....语句的存储过

2、程genins_output。我按中文习惯的时间格式YYYY-MM-DDHH24:MI:SS改了改,并新写了一个存储过程genins_file.sql。它可以把小于16383条记录表里的数据导成(insertinto表名....)OS下文件。调用它之前,DBA要看看数据库的初始化参数UTL_FILE_DIR是否已经正确地设置:SQL>showparametersutl_file_dir;可以看到该参数的当前设置。如果没有值,必须修改数据库的initsid.ora文件,将utl_file_dir指向一个你想用PL/SQ

3、LfileI/O的路径。重新启动数据库。此参数才生效。调用它,可以把表里的数据生成(insertinto表名....)OS下文件的过程genins_file方法:SQL>execgenins_file('emp','/oracle/logs','insert_emp.sql');

4、

5、

6、表名,可变

7、生成OS下文件名,可变

8、utl_file_dir路径名,不变(我设置的是/oracle/logs)SQL>exit可以在OS目录/oracle/logs下看到insert_emp.sql文件。注意事项:生成(insertin

9、to表名....)OS下文件最多32767行。因为我一条insert分成两行,所以最多处理16383条记录的表。在MYSQL数据库里运行insert_emp.sql,就可以方便地把oracle数据转移到MYSQL数据库里CREATEORREPLACEPROCEDUREgenins_file(p_tableINvarchar2,p_output_folderINVARCHAR2,p_output_fileINVARCHAR2)IS--l_column_listVARCHAR2(32767);l_value_listVA

10、RCHAR2(32767);l_queryVARCHAR2(32767);l_cursorNUMBER;ignoreNUMBER;l_insertline1varchar2(32767);l_insertline2varchar2(32767);cmn_file_handleUTL_FILE.file_type;--FUNCTIONget_cols(p_tableVARCHAR2)RETURNVARCHAR2ISl_colsVARCHAR2(32767);CURSORl_col_cur(c_tableVARCHAR2

11、)ISSELECTcolumn_nameFROMuser_tab_columnsWHEREtable_name=upper(c_table)ORDERBYcolumn_id;BEGINl_cols:=null;FORrecINl_col_cur(p_table)LOOPl_cols:=l_cols

12、

13、rec.column_name

14、

15、',';ENDLOOP;RETURNsubstr(l_cols,1,length(l_cols)-1);END;--FUNCTIONget_query(p_tableINVARCHAR2

16、)RETURNVARCHAR2ISl_queryVARCHAR2(32767);CURSORl_query_cur(c_tableVARCHAR2)ISSELECT'decode('

17、

18、column_name

19、

20、',null,''null'','

21、

22、decode(data_type,'VARCHAR2','''''''''

23、

24、'

25、

26、column_name

27、

28、'

29、

30、''''''''','DATE','''''''''

31、

32、to_char('

33、

34、column_name

35、

36、',''YYYY-MM-DDHH24:MI:SS''

37、)

38、

39、''''''''',column_name)

40、

41、')'column_queryFROMuser_tab_columnsWHEREtable_name=upper(c_table)ORDERBYcolumn_id;BEGINl_query:='SELECT';FORrecINl_query_cur(p_table)LOOPl_query:=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。