Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Примеры представлений

 

1. Пример не обновляемого представления (есть GROUP BY)
CREATE VIEW DateOrders (odate,ocount) AS SELECT odate, COUNT(*)
FROM Orders GROUP BY odate

2. Пример обновляемого представления (базируется на всех полях одной таблицы)
CREATE VIEW Londoncust AS SELECT *
FROM Customers WHERE city='London'

3. Пример не обновляемого представления (есть вычисляемые поля; во многих СУБД работает)
CREATE VIEW SJSales (name, number, percentage) AS SELECT sname, snum, comm*100
FROM Salespeople WHERE city ='San Jose'

4. Пример не обновляемого представления (есть подзапрос; во многих СУБД работает)
CREATE VIEW Salesonthid AS SELECT * FROM Salespeople WHERE snum IN
(SELECT snum FROM Orders WHERE odate=10/03/1990)

5. Пример обновляемого представления (базируется на части полей одной таблицы)
CREATE VIEW Someorders AS SELECT snum, onum, cnum
FROM Orders WHERE odate IN (10/03/1990, 10/05/1990)

6. Пример обновляемого представления (базируется на части полей части одной таблицы) и невидимой вставки
CREATE VIEW Highrating AS SELECT * FROM Customers WHERE rating=300
INSERT INTO Highrating VALUES (2018,'Martin', 'London',200,1001); -- невидимая вставка

7. Пример обновляемого представления (базируется на части полей части одной таблицы), и предложения. Вставка отвергается.
CREATE VIEW Highrating AS SELECT * FROM Customers WHERE rating=300
WITH CHECK OPTION
INSERT INTO Highrating VALUES (2018, 'Martin','London',200, 1001); -- ошибка

Вопросы

 

1. Какие из представлений являются теоретически обновляемыми?

  • CREATE VIEW Dailorders AS SELECT DISTINCT cnum FROM Orders;
  • CREATE VIEW Custotals AS SELECT SUM(amt) FROM Orders, Customers
    WHERE Orders.cnum=Customers.cnum GROUP BY cname;
  • CREATE VIEW ThirdOrders AS SELECT * FROM Dailorders WHERE odate=10/03/1990;
  • CREATE VIEW Nullcities AS SELECT snum, sname, city FROM Salespeople
    WHERE city IS NULL OR sname BETWEEN ‘A’ AND ‘MZ’;

2. Создайте представление Salespeople c именем Commisions. Это представление должно включать только поля snum и comm. Через это представление можно вводить и изменять комиссионные, находящиеся в интервале от 0.1 до 0.2.

 

 


<== предыдущая страница | следующая страница ==>
Теоретические сведения. 1. Если команды обновления (INSERT, UPDATE, DELETE) можно применить к представлению, то говорят, что представление является обновляемым (updatable | Теоретические сведения

Дата добавления: 2015-06-30; просмотров: 193; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.