| 
 
  
	| в 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    |   |  
				| Полезность: Нет оценки 
 |  
				| да, с ограничением символов в запросе тож столкнулся уже (( |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |