select * from all_directories;--查看创建的目录
drop directory my_dir;--删除目录
create or replace directory exp_dir as '/tmp'; --创建目录
grant read, write on directory exp_dir to xe; --授权
CREATE OR REPLACE PROCEDURE test_club IS
--v_module_name VARCHAR2(35) := 'Daily_Settlement_Deskbank_File';
v_transacationtnr NUMBER := 1;
v_downloaddate varchar2(10) := to_char(sysdate, 'DDMMYYYY');
v_transactiondate varchar2(10) := to_char(sysdate, 'DDMMYYYY');
v_date varchar2(10) := to_char(sysdate,'DDMMYYYY');
file_handle utl_file.file_type;
write_content VARCHAR2(1024);
write_file_name VARCHAR2(50);
CURSOR c_fliter_transaction IS
select * from club fts;
BEGIN
write_file_name := 'fss_'||to_char(SYSDATE,'YYYYMMDD')||'.txt';
file_handle := utl_file.fopen('D_OUTPUT',write_file_name,'w');
FOR ft in c_fliter_transaction loop
write_content := ft.ORGID||'|'||nvl(ft.ORGNAME,' ')||'|'||nvl(ft.PHONE,' ')||'|'||nvl(ft.STREETADDRESS,' ')||'|'||nvl(ft.CITY,' ')||'|'||nvl(ft.STATE,' ')||'|'||nvl(ft.POSTCODE,0)||'|'||nvl(ft.COUNTRY,' ')||'|'||nvl(ft.NEWS,' ');
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle,write_content);
end if;
END LOOP;
utl_file.fclose(file_handle);
dbms_output.put_line('the deskbank file finish.');
END;
SELECT REGEXP_SUBSTR ('909,University of Southern Tasmania,213-740-1111,University Park,Hobart,CA,89,AUS,The Los Angeles Times','[^,]+', 1,rownum) FROM DUAL
CONNECT BY ROWNUM <= LENGTH ('909,University of Southern Tasmania,213-740-1111,University Park,Hobart,CA,89,AUS,The Los Angeles Times') - LENGTH (REPLACE ('909,University of Southern Tasmania,213-740-1111,University Park,Hobart,CA,89,AUS,The Los Angeles Times', ',', ''))+1;
select * from table(split('909,University of Southern Tasmania,213-740-1111,University Park,Hobart,CA,89,AUS,The Los Angeles Times',','));
CREATE OR REPLACE PROCEDURE read_club IS
--
v_module_name VARCHAR2(35) := 'Daily_Settlement_Deskbank_File';
v_transacationtnr NUMBER := 1;
v_downloaddate varchar2(10) := to_char(sysdate, 'DDMMYYYY');
v_transactiondate varchar2(10) := to_char(sysdate, 'DDMMYYYY');
v_date varchar2(10) := to_char(sysdate,'DDMMYYYY');
file_handle utl_file.file_type;
read_content VARCHAR2(1024);
write_file_name VARCHAR2(50);
CURSOR c_fliter_transaction IS
select * from club fts;
BEGIN
write_file_name := 'fss_'||to_char(SYSDATE,'YYYYMMDD')||'.txt';
file_handle := utl_file.fopen('D_OUTPUT',write_file_name,'r');
FOR ft in c_fliter_transaction loop
IF utl_file.is_open(file_handle) THEN
utl_file.get_line(file_handle,read_content);
end if;
-- SELECT REGEXP_SUBSTR ('909,University of Southern Tasmania,213-740-1111,University Park,Hobart,CA,89,AUS,The Los Angeles Times','[^,]+', 1,3) FROM DUAL;
-- read_content := ft.ORGID||','||ft.ORGNAME||','||ft.PHONE||','||ft.STREETADDRESS||','||ft.CITY||','||ft.STATE||','||ft.POSTCODE||','||ft.COUNTRY||','||ft.NEWS;
insert into club1 values (REGEXP_SUBSTR(read_content,'[^|]+', 1,1),REGEXP_SUBSTR(read_content,'[^|]+', 1,2),REGEXP_SUBSTR(read_content,'[^|]+', 1,3),REGEXP_SUBSTR(read_content,'[^|]+', 1,4),REGEXP_SUBSTR(read_content,'[^|]+', 1,5),REGEXP_SUBSTR(read_content,'[^|]+', 1,6),REGEXP_SUBSTR(read_content,'[^|]+', 1,7),REGEXP_SUBSTR(read_content,'[^|]+', 1,8),REGEXP_SUBSTR(read_content,'[^|]+', 1,9));
commit;
END LOOP;
utl_file.fclose(file_handle);
dbms_output.put_line('the deskbank file finish.');
END;