Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отключить heading для всех запросов firebird / 6 сообщений из 6, страница 1 из 1
28.05.2019, 12:16
    #39819207
sashape
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить heading для всех запросов firebird
Есть запрос на firebird с конкатенацией и использованием вложенных select и list(), это все пишется потом в файл. Вначале стоит команда SET HEADING OFF;

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SET HEADING OFF;
SELECT DISTINCT '"' || REPLACE(TRIM(COALESCE(x.column, '')), '"', '""')
|| '"; "' || REPLACE(TRIM(COALESCE(x.column2, '')), '"', '""')
|| '"; "' || REPLACE(TRIM(COALESCE(list(DISTINCT x.column3, ','), '')), '"', '""')
|| '";'
FROM (
     SELECT ycolumn AS column, ycolumn1 AS column1, ycolumn2 AS column2, list(DISTINCT ycolumn3, ',') AS column3
FROM (
     SELECT d.column AS ycolumn, c.column1 AS ycolumn1, dc.column2 AS ycolumn2, ws.column3 AS ycolumn3
     FROM ...
     )y
     GROUP BY ycolumn, ycolumn1, ycolumn2
) x
GROUP BY x.column, x.column1, x.column3
;


Проблема в том, что не отключаются заголовки для вложенных SELECT и получается на выходе в файле такое:

Код: plsql
1.
2.
3.
4.
5.
==============================================================================
            0:218
==============================================================================
CONCATENATION:
"field"; "field1"; "field2"; "field3";


Подскажите, возможно ли отключить заголовки для такого запроса? Или придется вручную убирать?
...
Рейтинг: 0 / 0
28.05.2019, 12:46
    #39819244
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить heading для всех запросов firebird
sashapeне отключаются заголовки для вложенных SELECT

Это не заголовок, это формат отображения BLOB-ов. И, насколько я вижу, он никак не
отключается отдельно от вывода самих блобов. Приводи к VARCHAR.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.05.2019, 13:55
    #39819288
sashape
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить heading для всех запросов firebird
Спасибо за наводку! А приводить можно с помощью CAST() ?
...
Рейтинг: 0 / 0
28.05.2019, 14:01
    #39819295
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить heading для всех запросов firebird
Можно, только нужно помнить о длине, возможно потребуется применить substring.
...
Рейтинг: 0 / 0
28.05.2019, 15:11
    #39819371
sashape
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить heading для всех запросов firebird
Я попробовал привести к VARCHAR. В таком варианте ничего не выводится.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SET HEADING OFF;
SELECT DISTINCT '"' || REPLACE(TRIM(COALESCE(x.column, '')), '"', '""')
|| '"; "' || REPLACE(TRIM(COALESCE(x.column2, '')), '"', '""')
|| '"; "' || REPLACE(TRIM(COALESCE(CAST(list(DISTINCT x.column3, ',') AS VARCHAR(8000)), '')), '"', '""')
|| '";'
FROM (
     SELECT ycolumn AS column, ycolumn1 AS column1, ycolumn2 AS column2, CAST(list(DISTINCT ycolumn3, ',') AS VARCHAR(8000)) AS column3
FROM (
     SELECT d.column AS ycolumn, c.column1 AS ycolumn1, dc.column2 AS ycolumn2, ws.column3 AS ycolumn3
     FROM ...
     )y
     GROUP BY ycolumn, ycolumn1, ycolumn2
) x
GROUP BY x.column, x.column1, x.column3
;


Если какой-то один из list привести к varchar, то ничего не меняется.
А если оба, то ничего не выводится и ошибок тоже не отдает.
...
Рейтинг: 0 / 0
28.05.2019, 17:47
    #39819450
sashape
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить heading для всех запросов firebird
В общем все получилось.
Последний вариант прокатил. Выдавал пустой запрос из-за того, что скрипт выполнялся из bash. Напрямую к базу все работает. Всем спасибо за помощь. Без вас бы не справился.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отключить heading для всех запросов firebird / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]