Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / "Динамический" отчет в ASA 9 / 2 сообщений из 2, страница 1 из 1
27.02.2007, 15:41
    #34358076
V.V.L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Динамический" отчет в ASA 9
Есть, например, такая таблица
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE T1 (
  f1 integer,
  f2 varchar( 30 ),
  ...
  f20 timestamp)
Хочется на сервере периодически получать простенький отчет (в текстовом виде) на основе несложного запроса, составленного пользователем и отправлять ему на email. Запрос типа:
Код: plaintext
1.
SELECT f2,f3,func(f4,f5) FROM T1 WHERE ...
Запросы хранятся в таблице. Состав возвращаемых значений заранее не известен. Сейчас задача решается в такой последовательности:
Код: plaintext
1.
2.
3.
4.
5.
6.
...
// @user_query = 'select ... into #report from ...'
EXECUTE IMMEDIATE @user_query;
UNLOAD TABLE #report to @file_name;
@content = xp_read_file(@file_name);
...
Есть ли возможность это сделать с использованием курсора, не так криво в общем ?
...
Рейтинг: 0 / 0
27.02.2007, 17:39
    #34358511
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Динамический" отчет в ASA 9
Нууууу.... если нет обязательного условия "все внутри базы", то я сделал внешнюю утилитку, по ODBC коннектится к базе, через ХП проверяет какие отчеты надо делать, читает из таблицы описания отчетов (набор sql команд - select или call) по очереди их запускает, а из полученых резалтсетов формирует xml-файлы. Потом все сгенерированые за сеанс xml пакует, и отправляет получателю.

Ну а если не хочется выходить за пределы базы, то вполне можно выкрутится так:
Код: plaintext
select f1,f2 into @content from t1 for xml auto;
Получишь в @content xml вида:
Код: plaintext
<t1 f1="..." f2="..."/><t1 f1="..." f2="..."/>
Сколько строк в оригинальном резалтсете, столько тэгов в итоговом xml. Ну а потом делаешь с ним что хочешь.

---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / "Динамический" отчет в ASA 9 / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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