233: AS
234: l_dir_name VARCHAR2(100);
235: l_table_name VARCHAR2(30);
236: l_where_clause VARCHAR2(500);
237: l_file UTL_FILE.FILE_TYPE;
238: l_column_name string_tab;
239: l_column_type string_tab;
240: l_column_count INTEGER;
241: l_column_list VARCHAR2(10000);
278: END IF;
279: l_SQL_stmt := l_SQL_stmt || l_where_clause;
280:
281: l_dir_name := Get_Directory_Name;
282: l_file := UTL_FILE.FOPEN(l_dir_name,p_file_name,'W',g_max_linesize);
283:
284: /* Retrieve the records */
285: cur_err := DBMS_SQL.OPEN_CURSOR;
286: DBMS_SQL.PARSE(cur_err,l_SQL_stmt,DBMS_SQL.NATIVE);
305:
306: IF DBMS_SQL.last_row_count = 1
307: THEN
308: /* Write the column header line in file */
309: UTL_FILE.PUT_LINE(l_file,l_hdr_line);
310: END IF;
311:
312: l_line := NULL;
313: FOR col_indx IN 1 .. l_column_count
329: END LOOP;
330: l_line := SUBSTR(l_line,2);
331:
332: /* Write the line to the file */
333: UTL_FILE.PUT_LINE(l_file,l_line);
334: END LOOP;
335: DBMS_SQL.CLOSE_CURSOR(cur_err);
336:
337: UTL_FILE.FCLOSE(l_file);
333: UTL_FILE.PUT_LINE(l_file,l_line);
334: END LOOP;
335: DBMS_SQL.CLOSE_CURSOR(cur_err);
336:
337: UTL_FILE.FCLOSE(l_file);
338: EXCEPTION
339: WHEN OTHERS
340: THEN
341: IF UTL_FILE.IS_OPEN(l_file)
337: UTL_FILE.FCLOSE(l_file);
338: EXCEPTION
339: WHEN OTHERS
340: THEN
341: IF UTL_FILE.IS_OPEN(l_file)
342: THEN
343: UTL_FILE.FCLOSE(l_file);
344: END IF;
345: IF DBMS_SQL.IS_OPEN(cur_err)
339: WHEN OTHERS
340: THEN
341: IF UTL_FILE.IS_OPEN(l_file)
342: THEN
343: UTL_FILE.FCLOSE(l_file);
344: END IF;
345: IF DBMS_SQL.IS_OPEN(cur_err)
346: THEN
347: DBMS_SQL.CLOSE_CURSOR(cur_err);
357: AS
358: l_dir_name VARCHAR2(100);
359: l_table_name VARCHAR2(30);
360: l_file_name VARCHAR2(100);
361: l_file UTL_FILE.FILE_TYPE;
362: l_column_name string_tab;
363: l_column_type string_tab;
364: l_column_count INTEGER;
365: l_update_stmt VARCHAR2(10000);
398: l_col_type_by_name(l_column_name(indx)) := l_column_type(indx);
399: END LOOP;
400:
401: l_dir_name := Get_Directory_Name;
402: l_file := UTL_FILE.FOPEN(l_dir_name,l_file_name,'R',g_max_linesize);
403:
404: /* Read and Process all records from the file */
405: cur_err_upd := DBMS_SQL.OPEN_CURSOR;
406: cur_err_ins := DBMS_SQL.OPEN_CURSOR;
406: cur_err_ins := DBMS_SQL.OPEN_CURSOR;
407: l_rec_count := 0;
408: LOOP
409: BEGIN
410: UTL_FILE.GET_LINE(l_file,l_line,g_max_linesize);
411: l_rec_count := l_rec_count + 1;
412:
413: IF l_rec_count = 1 /* Assuming that the first line is the File Column Header Line */
414: THEN
517: END LOOP;
518:
519: DBMS_SQL.CLOSE_CURSOR(cur_err_upd);
520: DBMS_SQL.CLOSE_CURSOR(cur_err_ins);
521: UTL_FILE.FCLOSE(l_file);
522:
523: COMMIT;
524: EXCEPTION
525: WHEN OTHERS
523: COMMIT;
524: EXCEPTION
525: WHEN OTHERS
526: THEN
527: IF UTL_FILE.IS_OPEN(l_file)
528: THEN
529: UTL_FILE.FCLOSE(l_file);
530: END IF;
531: IF DBMS_SQL.IS_OPEN(cur_err_upd)
525: WHEN OTHERS
526: THEN
527: IF UTL_FILE.IS_OPEN(l_file)
528: THEN
529: UTL_FILE.FCLOSE(l_file);
530: END IF;
531: IF DBMS_SQL.IS_OPEN(cur_err_upd)
532: THEN
533: DBMS_SQL.CLOSE_CURSOR(cur_err_upd);
568: AS
569: l_dir_name VARCHAR2(100);
570: l_table_name VARCHAR2(30);
571: l_file_name VARCHAR2(100);
572: l_file UTL_FILE.FILE_TYPE;
573: l_column_name string_tab;
574: l_column_type string_tab;
575: l_column_count INTEGER;
576: l_insert_stmt VARCHAR2(10000);
601: l_col_type_by_name(l_column_name(indx)) := l_column_type(indx);
602: END LOOP;
603:
604: l_dir_name := Get_Directory_Name;
605: l_file := UTL_FILE.FOPEN(l_dir_name,l_file_name,'R',g_max_linesize);
606:
607: /* Read and Process all records from the file */
608: cur_err_ins := DBMS_SQL.OPEN_CURSOR;
609: l_rec_count := 0;
608: cur_err_ins := DBMS_SQL.OPEN_CURSOR;
609: l_rec_count := 0;
610: LOOP
611: BEGIN
612: UTL_FILE.GET_LINE(l_file,l_line,g_max_linesize);
613: l_rec_count := l_rec_count + 1;
614:
615: IF l_rec_count = 1 /* Assuming that the first line is the File Column Header Line */
616: THEN
660: END;
661: END LOOP;
662:
663: DBMS_SQL.CLOSE_CURSOR(cur_err_ins);
664: UTL_FILE.FCLOSE(l_file);
665:
666: COMMIT;
667: EXCEPTION
668: WHEN OTHERS
666: COMMIT;
667: EXCEPTION
668: WHEN OTHERS
669: THEN
670: IF UTL_FILE.IS_OPEN(l_file)
671: THEN
672: UTL_FILE.FCLOSE(l_file);
673: END IF;
674: IF DBMS_SQL.IS_OPEN(cur_err_ins)
668: WHEN OTHERS
669: THEN
670: IF UTL_FILE.IS_OPEN(l_file)
671: THEN
672: UTL_FILE.FCLOSE(l_file);
673: END IF;
674: IF DBMS_SQL.IS_OPEN(cur_err_ins)
675: THEN
676: DBMS_SQL.CLOSE_CURSOR(cur_err_ins);