При получении информации из базы данных MySQL из сценария оболочки мне обычно приходится выгружать результат в файл, чтобы собрать весь вывод в строке:
mysql -uroot -p'password' dbname<<EOFMYSQL
SELECT col1,col2,col3 FROM table1
INTO OUTFILE '/tmp/file.txt'
EOFMYSQL
Выход:
val1_1|val2_1
val1_2|val2_2
...
Вместо нескольких строк, когда я выгружаю вывод в переменную без INTO OUTFILE '/tmp/file.txt':
col1 val1_1
col2 val2_1
col1 val1_2
...
Я хотел бы знать, есть ли способ не использовать файлы при получении первого вывода формата в переменную.
Заранее спасибо.
Итак, вы спрашиваете, как заставить SELECT печатать вывод в стиле CSV на стандартный вывод, а не только при выгрузке в файл?
Да, я исправил вопрос, извините. Я использовал mysql в качестве примера, так как думал, что он будет более популярным.
Но если вы действительно используете Informix, как вам поможет решение MySQL?
да, получить вывод csv в переменную без промежуточного файла. Я хочу знать для обоих, я просто использовал неправильный синтаксис
Я не думаю, что в MySQL есть способ.






Я решил, что мне просто нужно использовать /dev/stdout в качестве выходного файла. Спасибо всем
UNLOADне является синтаксисом MySQL. Вы используете MySQL или Informix?