| 
 
  
	| задать параметры для представления VW_CRIT_DIARY_EXEC 
 
 |  
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| kaa Участник - экстремал
 
 
 Вступление в Клуб: 20.01.2020
 
 | 
			
				|  Чт Июн 06, 2024 20:17   задать параметры для представления VW_CRIT_DIARY_EXEC |   |  
				| Полезность: Нет оценки 
 |  
				| ну и вообще как задаются параметры для представлений? так то я скопировал - сделал локальное представление без параметров, но это дополнительное представление на схеме
 
 делаю так:
 
  	  | Код: |  	  | for(select s(s.[C_1] : DT, s.[C_2] : USR, s.[C_4]: OPNAME) in VW_CRIT_DIARY_EXEC%rowtype all --where trunc(s.[C_1]) = trunc(on_date)
 order by s.[C_1] desc
 )
 loop
 debug_pipe(' *** запуск операции: '||s.[USR]||', '||s.[DT]||', '||s.[OPNAME],0);
 end loop;
 
 | 
 
 и да - к именам столбцов нельзя обращаться - жаль ((
 |  |  
		|  |  
		| pabrz Участник со стажем
 
 
 Вступление в Клуб: 27.09.2022
 
 | 
			
				|  Пт Июн 07, 2024 02:07    |   |  
				| Полезность: Нет оценки 
 |  
				| Не совсем понятен ваш вопрос. Опишите цель. Что в итоге получить хотите. |  |  
		|  |  
		| Эмиралька Эксперт
 
 
 Вступление в Клуб: 09.11.2015
 
 | 
			
				|  Пт Июн 07, 2024 05:40   Re: задать параметры для представления VW_CRIT_DIARY_EXEC |   |  
				| Полезность: 2 
 |  
				|  	  | kaa пишет: |  	  | ну и вообще как задаются параметры для представлений? так то я скопировал - сделал локальное представление без параметров, но это дополнительное представление на схеме
 
 делаю так:
 
  	  | Код: |  	  | for(select s(s.[C_1] : DT, s.[C_2] : USR, s.[C_4]: OPNAME) in VW_CRIT_DIARY_EXEC%rowtype all --where trunc(s.[C_1]) = trunc(on_date)
 order by s.[C_1] desc
 )
 loop
 debug_pipe(' *** запуск операции: '||s.[USR]||', '||s.[DT]||', '||s.[OPNAME],0);
 end loop;
 
 | 
 
 и да - к именам столбцов нельзя обращаться - жаль ((
 | 
 
 Представления VW_CRIT предназначены для просмотра и не предназначены для использования в прикладном коде.
 Не делайте так!
 достаточно добавить одно поле в начало, и это поле станет C1 а то, что вы написали, перестанет работать.
 
 Для использования в прикладном коде используются представления VW_RPT, они непопулярны, но у них имена столбцов именованы нормально, потому модификация представлений не так разрушительна.
 
 По вашему вопросу - представления при необходимости параметризуются с помощью функций системного контекста. Вся остальная фильтрация данных осуществляется только фильтром запроса.
 |  |  
		|  |  
		| kaa Участник - экстремал
 
 
 Вступление в Клуб: 20.01.2020
 
 | 
			
				|  Пт Июн 07, 2024 12:53    |   |  
				| Полезность: Нет оценки 
 |  
				| спасибо, понял. перепишу тогда свое представление без параметров на VW_RPT, я их видел и пару раз делал для интеграции еще думал смысл таких представлений - если их проверять можно только в sql dev
 
 pabrz
 есть представление - которое проще перебрать чем запросом повторить
 |  |  
		|  |  
		| pabrz Участник со стажем
 
 
 Вступление в Клуб: 27.09.2022
 
 | 
			
				|  Пн Июн 10, 2024 04:10    |   |  
				| Полезность: 1 
 |  
				| Учитывайте несколько опций. 
 Первую вам Эмиралька озвучила уже - если вы используете представление, как источник информации, то позаботьтесь о том, чтобы его не двигали. Обычно в таких случаях делается служебное представление, которое никому не дается для использования (чтобы не просили потом туда колонок добавить и не смущали этим никого) и его надо соответствующим образом пометить - чтобы не трогали, с отсылками на продукты и операции, где оно используется (а то через год сами не вспомните)
 
 Второй момент в том, что если в представлении не чистые запросы, а используются функции для расчета колонок, то использовать его в качестве источника для DBI как будто бы нельзя. Поскольку это можно классифицировать, как надзапрос.
 |  |  
		|  |  
		| Volod Эксперт
 
 
 Вступление в Клуб: 19.09.2007
 
 | 
			
				|  Пн Июн 10, 2024 13:57    |   |  
				| Полезность: 2 
 |  
				| Еще проблема при использовании представления в запросе - не забывать давать доступ на это представление. |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |