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

в WHERE нельзя указать внешнюю функцию?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
kaa
Участник со стажем


Вступление в Клуб: 20.01.2020
СообщениеСр Янв 31, 2024 22:37   в WHERE нельзя указать внешнюю функцию? Ответить с цитатой
Полезность: Нет оценки
сделал типа фильтр - функцию для MAIN_DOCUM
и определяю мой док или нет
в операции если уже в цикле можно вызывать, а в WHERE что нельзя?
причем точно помню в некоторых случаях получалось

от чего зависит?

вот мой запрос
Код:
type main  is
   select 
      
      md(
       md.[DOCUMENT_DATE]                                             : updated
      ,md.[VALUTA].[CUR_SHORT]                                       : currency
      ,md.[VALUTA_PO].[CUR_SHORT]                                       : currency1
      ,md.[SUM]                                                   : amount
      ,md.[NAZN]                                                   : purpose
   )   
   in ::[MAIN_DOCUM]
   where true
      and md.[DATE_DOC]<=sysdate-20
      --and ::[INTERFACE].[LIB_EVD].is_doc_need(md)

;


если расскоментировать - то ругается ((
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеЧт Фев 01, 2024 04:22    Ответить с цитатой
Полезность: 1
В блоке where теперь действует запрет на использование функций.
IDE, DBI и прочие замечательные вещи.
Использование функций в качестве колонок представления по последним данным также проходит с ограничениями - без поиска и сортировки (не точно, может быть доработали, последние рекомендации не читал). Только отображение.

Рекомендую плотно ознакомиться с требованиями DBI.
kaa
Участник со стажем


Вступление в Клуб: 20.01.2020
СообщениеЧт Фев 01, 2024 14:54    Ответить с цитатой
Полезность: Нет оценки
хех, этож сколько текста дублировать придеться ((
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеПт Фев 02, 2024 08:59    Ответить с цитатой
Полезность: Нет оценки
Это еще мягко сказано. Мы, например, по этой самой причине выяснили, что объем текста для представления лимитирован. Т.е. у вас не может быть селекта со слишком большим количеством строк... Не для всякого шарика находится подходящий горшочек Sad(
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеПт Фев 02, 2024 13:59    Ответить с цитатой
Полезность: Нет оценки
pabrz пишет:
Это еще мягко сказано. Мы, например, по этой самой причине выяснили, что объем текста для представления лимитирован. Т.е. у вас не может быть селекта со слишком большим количеством строк... Не для всякого шарика находится подходящий горшочек Sad(


он изначально был лимитирован.
И текст представления и текст, который генерируется в поля представлений. И, кстати, текст комментария в PL+ и размер макроса...
в criteria 3 поля по 4000 каждое, это на всё представление в целом.
в criteria_columns поле 2000.

А что касается функций в условии where...
SQL выполняется на сервере БД, функции располагаются в java на сервере СП... как из SQL вызвать функцию на java на другом сервере ?
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеПн Фев 05, 2024 01:36    Ответить с цитатой
Полезность: Нет оценки
То-то и оно. Ну я про это во втором запросе как раз написал. Это неприятное ограничение. Большую часть вопросов все-таки можно решить через SQL, но в результате нередко получаются достаточно сложные многоуровневые конструкции, для которых лучше сразу отдельную документацию готовить, иначе потом не разберешься.
kaa
Участник со стажем


Вступление в Клуб: 20.01.2020
СообщениеВт Фев 06, 2024 16:32    Ответить с цитатой
Полезность: Нет оценки
да, с ограничением символов в запросе тож столкнулся уже ((
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

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