Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
15.5. Lektion Utsikter
När du skriver en fråga måste du lägga ner mycket tid och möda på att formulera den. Med hjälp av vyer kan du spara definitionen av en SQL-fråga i en återanvändbar ”virtuell tabell”.
Målet för den här lektionen: Att spara en fråga som en vy.
15.5.1. Skapa en vy
Du kan behandla en vy precis som en tabell, men dess data hämtas från en fråga. Låt oss skapa en enkel vy baserad på ovanstående:
create view roads_count_v as
select count(people.name), streets.name
from people, streets where people.street_id=streets.id
group by people.street_id, streets.name;
Som du kan se är den enda förändringen create view roads_count_v as-delen i början. Vi kan nu välja data från den vyn:
select * from roads_count_v;
Resultat:
count | name
-------+-------------
1 | Main Road
2 | High street
1 | Low Street
(3 rows)
15.5.2. Ändra en vy
En vy är inte fast och den innehåller inga ”riktiga data”. Det innebär att du enkelt kan ändra den utan att det påverkar någon data i din databas:
CREATE OR REPLACE VIEW roads_count_v AS
SELECT count(people.name), streets.name
FROM people, streets WHERE people.street_id=streets.id
GROUP BY people.street_id, streets.name
ORDER BY streets.name;
(I det här exemplet visas också den bästa metoden att använda UPPER CASE för alla SQL-nyckelord)
Du kommer att se att vi har lagt till en ORDER BY-klausul så att våra vyrader sorteras snyggt:
select * from roads_count_v;
count | name
-------+-------------
2 | High street
1 | Low Street
1 | Main Road
(3 rows)
15.5.3. Släppa en vy
Om du inte längre behöver en vy kan du ta bort den så här:
drop view roads_count_v;
15.5.4. Sammanfattningsvis
Med hjälp av vyer kan du spara en fråga och komma åt dess resultat som om den vore en tabell.
15.5.5. Vad händer härnäst?
Ibland när du ändrar data vill du att dina ändringar ska få effekter på andra ställen i databasen. I nästa lektion får du veta hur du gör det.