当前位置:Gxlcms > mysql > 导入指定文件的数据库

导入指定文件的数据库

时间:2021-07-01 10:21:17 帮助过:23人阅读

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 导入指定文件的数据库 [sql] create or replace procedure IMP_DATA ( file_name in varchar2 --要导入的文件名,包含路径(如:d:\test\exp_0003.txt) ,p_user in varchar2 default SYS_CONTEXT

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  导入指定文件的数据库

  [sql]

  create or replace procedure IMP_DATA

  (

  file_name in varchar2 --要导入的文件名,包含路径(如:d:\test\exp_0003.txt)

  ,p_user in varchar2 default SYS_CONTEXT('USERENV', 'CURRENT_USER') --要导入的用户,缺省为当前用户

  ,p_sep in varchar2 default ',' --字段分隔符,默认为逗号(需要打开要导入的文件确认导入的字段分隔符)

  ) AS

  /*

  描述:根据EXP_DATA过程导出的数据进行导入

  created by cryking 2013.03.07

  注意:1.本存储建议由SYS账户或具有SYSDBA权限的账户执行

  2.不要在其他事务中运行本存储过程

  3. 默认导入的数据(p_user为空,或未指定)全部在当前用户下

  */

  v_file UTL_FILE.file_type;

  TYPE t_filed IS TABLE OF varchar2(200) INDEX BY BINARY_INTEGER;

  v_fileds t_filed;

  TYPE t_data IS TABLE OF varchar2(4000) INDEX BY BINARY_INTEGER;

  v_data t_data;

  v_datatype t_data;

  v_sql varchar2(30000);

  V_esql varchar2(30000);

  v_filed VARCHAR2(100) := '';

  v_filedstr VARCHAR2(4000) := '';

  V_TABLE VARCHAR2(1000);

  v_user varchar2(20);

  v_path varchar2(500);

  v_filename varchar2(50);

  v_sep varchar2(10);

  v_text varchar2(32600);

  v_textTmp varchar2(32600);

  i_flag integer:=0;

  I_TABLE INTEGER;

  exp_sep exception;

  ex_table exception;

  BEGIN

[1] [2] [3]

人气教程排行