У меня есть оракул, который добавляет табличные пробелы к данным таблицы и печатает их в файл оракула. Но теперь мне также нужны кавычки вокруг некоторых столбцов, некоторые столбцы не нуждаются в кавычках.
этот процесс выглядиткак это ..
create or replace PROCEDURE usp_create_nestor AS
v_column_name VARCHAR2(4000);
TYPE t_bulk_collect_test_tab IS TABLE OF VARCHAR2(4000);
v_tab t_bulk_collect_test_tab;
clob_var CLOB;
v_file utl_file.file_type;
ref_cur SYS_REFCURSOR;
v_qry VARCHAR2(500);
v_flag NUMBER := 0;
v_year VARCHAR2(80);
BEGIN
SELECT LISTAGG ( column_name,'||CHR(9)||' ) WITHIN GROUP (ORDER BY column_id)
INTO v_column_name FROM all_tab_cols WHERE owner = 'schema' AND table_name LIKE '%tablename%';
v_qry := 'SELECT '|| v_column_name || ' from tablename';
v_flag := 1;
v_file := utl_file.fopen('filename.txt','w');
OPEN ref_cur FOR v_qry;
LOOP
FETCH ref_cur BULK COLLECT INTO v_tab LIMIT 100;
FOR i IN 1..v_tab.count LOOP
utl_file.put_line(v_file,v_tab(i)); -- WRITE INTO FILE
END LOOP;
EXIT WHEN v_tab.count = 0;
END LOOP;
CLOSE ref_cur;
utl_file.fclose(v_file); -- CLOSE FILE
v_flag := 2;
dbms_output.put_line('Success');
UTL_FILE.FCLOSE_ALL;
END;
Вывод файла выглядит следующим образом:
ABCDEF
Вывод файла должен выглядеть следующим образом:
AB "C"D" E "" F "