CftClub.ru
Клуб специалистов ЦФТ-Банк

Можно ли получить в коде операции SQL запрос представления?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
VasyaRyjikov
Участник


Вступление в Клуб: 28.02.2013
СообщениеВт Мар 05, 2013 21:53   Можно ли получить в коде операции SQL запрос представления? Ответить с цитатой
Полезность: Нет оценки
Добрый день!
Если в ИБСО в "Настройках" отметить "Служебный интерфейс", то в представлении появляется кнопка SQL, в которой можно просмотреть SQL запрос данного представления с параметрами фильтров пользователя. Возможно ли как-то прочитать этот SQL запрос целиком вместе с параметрами в коде операции в некоторую переменную? И если есть такая возможность, буду весьма признателен за пример, как это сделать.
Спасибо.
maestro
Профи


Вступление в Клуб: 12.10.2010
СообщениеСр Мар 06, 2013 14:28    Ответить с цитатой
Полезность: Нет оценки
Нельзя!

Если объясните зачем вам это требуется, то, возможно, Вам предложат другой метод решения проблемы.
VasyaRyjikov
Участник


Вступление в Клуб: 28.02.2013
СообщениеСр Мар 06, 2013 19:02    Ответить с цитатой
Полезность: Нет оценки
Необходимо пройтись по представлению, в котором пользователем может быть задано море фильтров, и результатом фильтров может быть очень большое количество строк (превышающее ограничение на списочную и простую операции).
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеСр Мар 06, 2013 21:53    Ответить с цитатой
Полезность: Нет оценки
VasyaRyjikov пишет:
Необходимо пройтись по представлению, в котором пользователем может быть задано море фильтров, и результатом фильтров может быть очень большое количество строк (превышающее ограничение на списочную и простую операции).

В чом проблема сделать операцию отчот в EXCEL с килограммом параметров для фильтрации ?
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеЧт Мар 07, 2013 06:05    Ответить с цитатой
Полезность: Нет оценки
VasyaRyjikov пишет:
Необходимо пройтись по представлению, в котором пользователем может быть задано море фильтров, и результатом фильтров может быть очень большое количество строк (превышающее ограничение на списочную и простую операции).

Представление и количество выбранных экземпляров для операции - это разное.
Операция запускается над выбранными экземплярами. У простой количество не больше 1, у списочной - количество равно
Код:

cnt integer;
begin
    cnt:=this.count;
end;

У списочной операции есть ограничение на количество списка - строка с ID всех экземпляров и разделителями не должна превышать 32K. При 9-10-тизначных ID, это около 3-х тысяч .

Если количество будет превышено - навигатор сам взорвет ошибку.
VasyaRyjikov
Участник


Вступление в Клуб: 28.02.2013
СообщениеЧт Мар 07, 2013 11:48    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
В чом проблема сделать операцию отчот в EXCEL с килограммом параметров для фильтрации ?


А этот килограмм параметров где и как описывать в таком случае? На форме операции?

devor пишет:
Представление и количество выбранных экземпляров для операции - это разное.
Операция запускается над выбранными экземплярами. У простой количество не больше 1, у списочной - количество равно
У списочной операции есть ограничение на количество списка - строка с ID всех экземпляров и разделителями не должна превышать 32K. При 9-10-тизначных ID, это около 3-х тысяч .
Если количество будет превышено - навигатор сам взорвет ошибку.


Вот это ограничение и не позволяет использовать такие операции для большого количества выделенных пользователем строк (например, тысяч 15 строк). И если задать количество отфильтрованных строк руками в переменной и в цикле вызывать простую операцию, то тоже навигатор взрывается ошибкой. Sad
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеЧт Мар 07, 2013 12:04    Ответить с цитатой
Полезность: Нет оценки
VasyaRyjikov пишет:

Вот это ограничение и не позволяет использовать такие операции для большого количества выделенных пользователем строк (например, тысяч 15 строк). И если задать количество отфильтрованных строк руками в переменной и в цикле вызывать простую операцию, то тоже навигатор взрывается ошибкой. Sad

Зачем выделять 15 тысяч строк? Ерунда какая-то.
Сделай групповую операцию и у ней на морде нужные фильтры.
И уже потом в цикле запускай простую, если надо.
VasyaRyjikov
Участник


Вступление в Клуб: 28.02.2013
СообщениеЧт Мар 07, 2013 12:45    Ответить с цитатой
Полезность: Нет оценки
devor пишет:

Сделай групповую операцию и у ней на морде нужные фильтры.


Т.е. вариант один - по сути повторять на форме групповой операции все поля с возможными вариантами наложения на них условий И и ИЛИ, а также Равно, !Равно, Больше, Меньше и т.д.
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеЧт Мар 07, 2013 12:53    Ответить с цитатой
Полезность: Нет оценки
VasyaRyjikov пишет:
devor пишет:

Сделай групповую операцию и у ней на морде нужные фильтры.


Т.е. вариант один - по сути повторять на форме групповой операции все поля с возможными вариантами наложения на них условий И и ИЛИ, а также Равно, !Равно, Больше, Меньше и т.д.

Я бы на твоем месте поговорил с заказчиком. Думаю, конечная задача гораздо проще. Бизнес должен сформулировать бизнес-задачу, а уж технологию реализации им на откуп отдавать нельзя - надо самому подключаться к процессу.
VasyaRyjikov
Участник


Вступление в Клуб: 28.02.2013
СообщениеЧт Мар 07, 2013 13:10    Ответить с цитатой
Полезность: Нет оценки
Всем спасибо. Посмотрим, что скажет заказчик на то, что есть, и если что, будем уменьшать количество фильтруемых полей.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru