Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


CREATE VIEW Citynumber AS SELECT city, COUNT (DISTINCT snum) FROM Salespeople GROUP BY city


Download 1.45 Mb.
bet153/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   149   150   151   152   153   154   155   156   ...   172
Bog'liq
Грубер. Понимание SQL

CREATE VIEW Citynumber
AS SELECT city, COUNT (DISTINCT snum)
FROM Salespeople
GROUP BY city;



CREATE VIEW Nameorders
AS SELECT sname, AVG (amt), SUM (amt)
FROM Salespeople, Orders
WHERE Salespeople.snum = Orders.snum
GROUP BY sname;



CREATE VIEW Multcustomers
AS SELECT *
FROM Salespeople a
WHERE 1 < (SELECT COUNT (*)
FROM Customers b
WHERE a.snum = b.snum);

Глава 21


#1 — не модифицируемый, потому что он использует DISTINCT.
#2 — не модифицируемый, потому что он использует обьединение, агрегатную функцию и GROUP BY.
#3 — не модифицируемый, потому что он основывается на #1, который сам по себе не модифицируемый.




CREATE VIEW Commissions
AS SELECT snum, comm
FROM Salespeople
WHERE comm BETWEEN .10 AND .20
WITH CHECK OPTION;



CREATE TABLE Orders
(onum integer NOT NULL PRIMARY KEY,
amt decimal,
odate date DEFAULT VALUE = CURDATE,
snum integer,
cnum integer);

CREATE VIEW Entryorders


AS SELECT onum, amt, snum, cnum
FROM Orders;

Глава 22


GRANT UPDATE (rating) ON Customers TO Janet;


GRANT SELECT ON Orders TO Stephen WITH GRANT OPTION;


REVOKE INSERT ON Salespeople FROM Claire;


Шаг 1:
CREATE VIEW Jerrysview
AS SELECT *
FROM Customers
WHERE rating BETWEEN 100 AND 500
WITH CHECK OPTION;

Шаг 2:
GRANT INSERT, UPDATE ON Jerrysview TO Jerry;


Шаг 1:

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   149   150   151   152   153   154   155   156   ...   172




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling