CREATE VIEW postr
AS SELECT naim_post, naim_mat, dat_post, kolv
FROM sp_post, postavka, sp_mat
WHERE postavka.kod_post=sp_post.kod_post
AND sp_mat.kod_mat=postavka.kod_mat;
Запрос на выдачу информации о поставке стали может выглядеть в этом случае следующим образом:
SELECT *
FROM postr
WHERE naim_mat="сталь";
Если не использовать представление, то связи между таблицами должны задаваться в каждом запросе, а не один раз при создании представления.
4. Предоставление пользователю дополнительной информации, не содержащейся в базовых таблицах. Так, в приведенном ниже примере в представление, введено вычисляемое поле, отражающее стоимость поставленной продукции:
CREATE VIEW post2 (kod_post, dat_post, kolv,summa)
AS SELECT kod_post, dat_post, kolv, kolv*cena
FROM postavka;
Практически цели 1 и 4 являются частными случаями цели 3.
При определении VIEW можно задать любой правильный оператор SELECT за некоторыми исключениями. Поскольку синтаксис как команды SELECT, так и команды CREATE VIEW несколько различается в разных СУБД, то затруднительно дать эти ограничения в общем виде. Поэтому при создании представлений следует внимательно посмотреть, какие ограничения накладывает конкретная реализация'языка.
Фраза WITH CHECK OPTION (с проверкой) указывает на то, что при корректировке содержимого таблиц должна осуществляться проверка на соблюдение заданного условия.
предыдущаяследующая