Что такое Представление таблиц?

Автор Syzygy, 21 мая 2010, 21:18

0 Пользователи и 1 гость просматривают эту тему.

Syzygy

Цитата: Helen от 22 мая 2010, 08:21Например, для работы часто нужна фильтрация по списку работающие сотрудников. Утомительно всякий раз писать длинный запрос, который сначала составляет этот список, а потом отбирает в нём по нужным критериям. Поэтому запрос, составляющий список, сохранён в виде представления
А в чём проблем создать запрос, который составляет этот список, а потом применить к нему ещё один, который отбирает в нём по нужным критериям?
A Matter of Life and Death

BigAndy

Еще раз повторю. представление - это запрос выполняемый средствами RDBMS>
Запрос - тот, что сохраняется и выполняется в самом ООО. Отсоедините HSQLDB во время работы ООО и увидете, что запросы сохраняются в контейнере odb, а представления только как ссылки на объекты com.sun.sdb.

prof-alex

Цитата: Syzygy от 22 мая 2010, 18:03
А в чём проблем создать запрос, который составляет этот список, а потом применить к нему ещё один...
Лень. Зачем писать километровые запросы, если есть представления?

«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра

Syzygy

Цитата: prof-alex от 22 мая 2010, 17:41если есть представления?
Но ведь представление тоже нужно создать теми же SQL-командами, что и запрос.
A Matter of Life and Death

Helen

Цитата: Syzygy от 22 мая 2010, 21:09Но ведь представление тоже нужно создать теми же SQL-командами
один раз.

BigAndy

Цитата: Syzygy от 22 мая 2010, 21:09Но ведь представление тоже нужно создать теми же SQL-командами, что и запрос.
Не совсем. Выполните в ООО такой запрос:

with
  _2 as ( select 2 ),
  _4 as ( select 4 )
select
  x.v
from
  generate_series(1, 5) x(v)
where
  ( x.v = (select * from _2) ) or
  ( x.v = (select * from _4) )

Syzygy

Цитата: BigAndy от 23 мая 2010, 21:28Выполните в ООО такой запрос:

ЦитироватьСостояние SQL: 00000
Код ошибки: -155

Statement does not generate a result set
A Matter of Life and Death

BigAndy