задать параметры для представления 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
|
Еще проблема при использовании представления в запросе - не забывать давать доступ на это представление. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|