Database Reference
In-Depth Information
69 utl_file.put( l_output, l_sep || g_descTbl(i).col_name ||
70 ' char(' ||
71 to_char(g_descTbl(i).col_max_len*2) ||' )' );
72 end if;
73 l_sep := ','||g_nl ;
74 end loop;
75 utl_file.put_line( l_output, g_nl || ')' );
76 utl_file.fclose( l_output );
77 end;
78
Here is a simple function to return a quoted string using the chosen enclosure character. Notice how it not only
encloses the character, but also doubles up the enclosure character if it exists in the string as well, so that they are
preserved:
79 function quote(p_str in varchar2, p_enclosure in varchar2)
80 return varchar2
81 is
82 begin
83 return p_enclosure ||
84 replace( p_str, p_enclosure, p_enclosure||p_enclosure ) ||
85 p_enclosure;
86 end;
87
Next we have the main function, RUN . As it is fairly large, I'll comment on it as we go along:
88 function run( p_query in varchar2,
89 p_tname in varchar2,
90 p_mode in varchar2 default 'REPLACE',
91 p_dir in varchar2,
92 p_filename in varchar2,
93 p_separator in varchar2 default ',',
94 p_enclosure in varchar2 default '"',
95 p_terminator in varchar2 default '|' ) return number
96 is
97 l_output utl_file.file_type;
98 l_columnValue varchar2(4000);
99 l_colCnt number default 0;
100 l_separator varchar2(10) default '';
101 l_cnt number default 0;
102 l_line long;
103 l_datefmt varchar2(255);
104 l_descTbl dbms_sql.desc_tab;
105 begin
 
Search WWH ::




Custom Search