Вот простой
this.$children[indexOfComponent].childsMethodName();
Вы могли также использовать следующее, хотя это действительно представляет пробелы между полями.
set colsep , -- separate columns with a comma
set pagesize 0 -- No header rows
set trimspool on -- remove trailing blanks
set headsep off -- this may or may not be useful...depends on your headings.
set linesize X -- X should be the sum of the column widths
set numw X -- X should be the length you want for numbers (avoid scientific notation on IDs)
spool myfile.csv
select table_name, tablespace_name
from all_tables
where owner = 'SYS'
and tablespace_name is not null;
Вывод будет похож:
TABLE_PRIVILEGE_MAP ,SYSTEM
SYSTEM_PRIVILEGE_MAP ,SYSTEM
STMT_AUDIT_OPTION_MAP ,SYSTEM
DUAL ,SYSTEM
...
Это было бы намного менее утомительно, чем вывод всех полей и конкатенации их с запятыми. Вы могли добиться простого sed сценария для удаления пробела, который появляется перед запятой, если Вы хотели.
Что-то вроде этого могло бы работать... (мои sed навыки очень ржавы, таким образом, это, вероятно, должно будет работать)
sed 's/\s+,/,/' myfile.csv
Это сыро, но:
set pagesize 0 linesize 500 trimspool on feedback off echo off
select '"' || empno || '","' || ename || '","' || deptno || '"' as text
from emp
spool emp.csv
/
spool off
Можно явно отформатировать запрос для создания разграниченной строки с чем-то вроде:
select '"'||foo||'","'||bar||'"'
from tab
И настроенный выходные опции как соответствующие. Как опция, переменная COLSEP на SQLPlus позволит Вам произвести разграниченные файлы, не имея необходимость явно генерировать строку с полями, связанными вместе. Однако необходимо будет поместить кавычки вокруг строк на любых столбцах, которые могли бы содержать встроенные символы запятой.
Я вижу похожую проблему ...
Мне нужно спутировать CSV-файл из SQLPLUS, но вывод содержит 250 столбцов.
Что я сделал, чтобы не раздражать форматирование вывода SQLPLUS:
set linesize 9999
set pagesize 50000
spool myfile.csv
select x
from
(
select col1||';'||col2||';'||col3||';'||col4||';'||col5||';'||col6||';'||col7||';'||col8||';'||col9||';'||col10||';'||col11||';'||col12||';'||col13||';'||col14||';'||col15||';'||col16||';'||col17||';'||col18||';'||col19||';'||col20||';'||col21||';'||col22||';'||col23||';'||col24||';'||col25||';'||col26||';'||col27||';'||col28||';'||col29||';'||col30 as x
from (
... here is the "core" select
)
);
spool off
проблема в вас потеряет имена заголовков столбцов ...
вы можете добавить это:
set heading off
spool myfile.csv
select col1_name||';'||col2_name||';'||col3_name||';'||col4_name||';'||col5_name||';'||col6_name||';'||col7_name||';'||col8_name||';'||col9_name||';'||col10_name||';'||col11_name||';'||col12_name||';'||col13_name||';'||col14_name||';'||col15_name||';'||col16_name||';'||col17_name||';'||col18_name||';'||col19_name||';'||col20_name||';'||col21_name||';'||col22_name||';'||col23_name||';'||col24_name||';'||col25_name||';'||col26_name||';'||col27_name||';'||col28_name||';'||col29_name||';'||col30_name from dual;
select x
from
(
select col1||';'||col2||';'||col3||';'||col4||';'||col5||';'||col6||';'||col7||';'||col8||';'||col9||';'||col10||';'||col11||';'||col12||';'||col13||';'||col14||';'||col15||';'||col16||';'||col17||';'||col18||';'||col19||';'||col20||';'||col21||';'||col22||';'||col23||';'||col24||';'||col25||';'||col26||';'||col27||';'||col28||';'||col29||';'||col30 as x
from (
... here is the "core" select
)
);
spool off
Я знаю, что это довольно хардкорно, но у меня это работает ...
предпочтительнее использовать "set colsep" в подсказке sqlplus вместо редактирования имени col по одному. Используйте sed для редактирования выходного файла.
set colsep '","' -- separate columns with a comma
sed 's/^/"/;s/$/"/;s/\s *"/"/g;s/"\s */"/g' $outfile > $outfile.csv