Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> синтаксис view, входные и выходные данные 
V
    Опции темы
liliputochka
Дата 13.9.2006, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 16.3.2006
Где: Волгоград

Репутация: нет
Всего: нет



Возможно ли передавать переменные в view и как (не нашла синтаксис view)? И как возможно извлекать данные из представления?

 Еще вопросик: чем отличается материализованное представление от обычного?
PM MAIL   Вверх
LSD
Дата 13.9.2006, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(liliputochka @  13.9.2006,  19:28 Найти цитируемый пост)
не нашла синтаксис view

Syntax CREATE VIEW

Цитата(liliputochka @  13.9.2006,  19:28 Найти цитируемый пост)
И как возможно извлекать данные из представления?

Данные из view извлекаются обычным select-ом. Параметризовывать view нельзя, но к выборке из view можно применять все операции применимые к таблицам (where, join и т.д.).

Цитата(liliputochka @  13.9.2006,  19:28 Найти цитируемый пост)
Еще вопросик: чем отличается материализованное представление от обычного?

View - это просто сохраненный в БД запрос. По результату работы ничем не отличается, от результата который будет в результате выполнения запроса, на основе которого он составлен. Используется в целях безопасности: можно пользователю дать права только на view, а в самом view ограничить выборку данных с помощью клаузы where. Можно скрывать детали хранения данных в БД, т.е. есть возможность изменить структуру хранимых данных, при том, что для программы таблицы останутся неизменными.

Материализованное представление, на самом деле это таблица, которая получается на основе некого запроса, как и view. Обладает теми же свойствами, что и обычный view, кроме одного. Данные в материализованном представлении обновляются с некоторой задержкой. Поэтому при выборке данных можно не совсем актуальные данные. Зато, данные храняться в локальной таблице, и поэтому: данные всегда доступны, даже если в выборке участвуют таблицы с удаленного сервера. Если данные получаются путем сложных расчетов и агрегирования больших объемов данных, то эти вычисления производятся только один раз, при добавлении данных в материализованное представление, а не при каждом запросе как в случае с view.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
liliputochka
Дата 15.9.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 16.3.2006
Где: Волгоград

Репутация: нет
Всего: нет



еще вопросик : возможно ли использование представлений в процедурах и/или функциях и запись в представления в процедуре/функции?
PM MAIL   Вверх
LSD
Дата 15.9.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(liliputochka @  15.9.2006,  15:10 Найти цитируемый пост)
возможно ли использование представлений в процедурах и/или функциях

Да и вообще никаких ограничений на использование view в процедурах нет.

Цитата(liliputochka @  15.9.2006,  15:10 Найти цитируемый пост)
запись в представления в процедуре/функции

Если view обновляемый, то можно.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
liliputochka
Дата 15.9.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 16.3.2006
Где: Волгоград

Репутация: нет
Всего: нет



Спасибо LSD! 
PM MAIL   Вверх
LSD
Дата 15.9.2006, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Заходи еще smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Paradox
Дата 11.10.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



Цитата

Возможно ли передавать переменные в view и как

используйте лучше курсоры для этой задачи

насчет материализованных представлений позволю себе дополнить LSD
при создании материализованных представлений на таблицах БД, на которых строится такой view создаются логи, соответственно изменение данных в таблицах ведет дополнительные затраты на поддержку этих логов

насчет задержи в актуальности данных: в зависимости от типа materialized view вы можете выставить для него опцию refresh on commit, соответтственно данные во вью сможете увидеть тогда же, когда и в обычной таблице без задержи.




--------------------
---
PM MAIL WWW   Вверх
jsa
Дата 11.10.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 1
Всего: 20



Цитата(liliputochka @ 13.9.2006,  18:28)
Возможно ли передавать переменные в view

как то не так давно, в форуме по интербейзу, если не ошибаюсь Акела, предлагал способ параметризировать вьюхи, относительно оракла можно попробовать использовать контекст сеанса, для задания параметра, но это только теория


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
3x3
Дата 11.10.2006, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(jsa @ 11.10.2006,  18:13)
Цитата(liliputochka @ 13.9.2006,  18:28)
Возможно ли передавать переменные в view

как то не так давно, в форуме по интербейзу, если не ошибаюсь Акела, предлагал способ параметризировать вьюхи, относительно оракла можно попробовать использовать контекст сеанса, для задания параметра, но это только теория

Почему? И практика тоже. Я бы порекомендовал использовать для этого переменную уровня пакета. Это может быть оправданно, если реализуется политика разделения доступа, основанная не на оракловой авторизации.

Но.. Без нужды не стоит злоупореблядь такими вью.. Да и с назначалкой дескриптора доступа нужно ещё извернуться так, что бы пользователь не мог сам себе ID назначать, например не давать прямого пути её назначить, только посредством вызова процедуры, которой передаётся юзернейм и пассворд. 


--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0854 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.