в WHERE нельзя указать внешнюю функцию?
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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   |
|
Полезность: Нет оценки
|
Это еще мягко сказано. Мы, например, по этой самой причине выяснили, что объем текста для представления лимитирован. Т.е. у вас не может быть селекта со слишком большим количеством строк... Не для всякого шарика находится подходящий горшочек ( |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пт Фев 02, 2024 13:59   |
|
Полезность: Нет оценки
|
pabrz пишет: | Это еще мягко сказано. Мы, например, по этой самой причине выяснили, что объем текста для представления лимитирован. Т.е. у вас не может быть селекта со слишком большим количеством строк... Не для всякого шарика находится подходящий горшочек ( |
он изначально был лимитирован.
И текст представления и текст, который генерируется в поля представлений. И, кстати, текст комментария в 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   |
|
Полезность: Нет оценки
|
да, с ограничением символов в запросе тож столкнулся уже (( |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|