SELECT * FROM inventory
ID UNITPRICE ONHAND REORDER DESCRIPTION
----------- ----------------- ----------------- ---------------- ------------------------
1 8.97 178 200 Yellow Widget
2 21.4 223 150 Blue Widget
3 87.12 48 50 Red Widget
4 6.03 638 450 Green Widget
.
.
.
SELECT * FROM stock
ID UNITPRIC ONHAND REORDEI DESCRIPTION
----------- ----------------- ----------------- ---------------- ------------------------
1 8.97 178 200 Yellow Widget
2 21.4 223 150 Blue Widget
3 87.12 48 50 Red Widget
4 6.03 638 450 Green Widget
.
.
.
INSERT INTO inventory VALUES (5, 7.93, 600, 250, 'Orange Widget’)
INSERT INTO stock VALUES (6, 23.52,300, 150,'Black Widget')
Более ограниченный запрос представления создает представление, соответствующее только выбранным столбцам и/или строкам таблицы:
CREATE VIEW reorder AS
SELECT id, onhand, reorder FROM stock
WHERE onhand < reorder
REORDER — это пример представления, соответствующего отдельным табличным данным табличным данным, выбираемым на основе конкретных значений столбцов и строк таблицы STOCK:
SELECT * FROM reorder
ID ONHAND REORDER
------ --------------- -------------------
1 178 200
3 48 50
.
.
.
Другим примером представления, работающего с конкретными данными, является запрос объединения:
CREATE VIEW orderreport AS
SELECT orders.id "ORDER ID", оrders.orderdate,
item.id "LINE ID", stockid
FROM orders, item
WHERE item.orderid=orders.id
Когда пользователи работают с представлением ORDERREPORT, Oracle7 объединяет соответствующие строки данных из таблиц ORDERS и ITEM:
SELECT • FROM orderreport
ORDER ID ORDERDATE LINE ID STOCKID
--------------- ------------------- ---------------- ------------------
1 23-MAY-95 1 4
1 23-MAY-95 2 2
1 23-MAY-95 3 3
2 23-MAY-95 1 1
2 23-MAY-95 2 2
Используемый для представления запрос непосредственно влияет на функциональность полученного в результате представления. Например, пользователи для всех операций DML, включая SELECT, INSERT, UPDATE и DELETE, могут применять простые представления, такие как INVENTORY (в определяющем его запросе имеется ссылка только на одну таблицу базы данных). Однако со сложными представлениями (скажем. REORDER) в операторах SELECT INSERT, UPDATE и DELETE они работать не могут, так как Oracle7 не сможет отобразить их в базовые таблицы. Сложными представлениями можно считать такие представления, которые включают в себя операцию объединения, набор операторов DISTINCT, функции групп и ключевые слова GROUP BY, CONNECT BY или START WITH.
Функциональность представления
Если вы создаете в одной схеме представление, которое использует таблицы или представления другой схемы, то понять его функции может оказаться непросто. В этом случае функциональные возможности представления определяют полномочия его владельца. Таким образом, Oracle7 предотвращает определение простого представления в обход внутренней защиты доступа к объекту.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.