SQL VIEW (Panlalagyan)

Ang view ay isang visual na table.

Ang kabanata na ito ay nagbibigay ng turo kung paano bumuo, i-update, at i-delete ang view.

SQL CREATE VIEW statement

Ano ang view?

Sa SQL, ang view ay isang visual na table na nakabase sa result set ng SQL statement.

Ang view ay may mga hilera at kolum, tulad ng isang tunay na table. Ang mga field sa view ay galing sa tunay na table ng database. Maaari naming idagdag ang SQL function, WHERE, at JOIN statement sa view, at maaari naming ihatid ang data tulad ng galing sa isang solong table.

Komentaryo:Ang disenyo at straktura ng database ay hindi apektado ng mga function, where, o join statement na nasa view.

SQL CREATE VIEW syntax

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

Komentaryo:Ang view ay palaging nagpapakita ng pinakabagong data. Bawat pagkakatuklas ng user sa view, ang database engine ay magre-rebuild ng data gamit ang SQL statement.

Mga salin ng SQL CREATE VIEW

Maaaring gamitin ang view mula sa loob ng isang query, isang stored procedure, o mula sa ibang view. Maaari naming ihatid sa user ang kung anong data ang nais naming hatid sa pamamagitan ng pagdagdag ng function, join, at iba pa sa view.

Ang Northwind sample database ay may ilang mga view na ayon sa default na nag-iinstall. Ang view na tinatawag na "Current Product List" ay magpapakita ng lahat ng produkto na kasalukuyang gumagamit mula sa Products table. Ang view na ito ay ginawa gamit ang sumusunod na SQL:

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

Maaari naming iquery ang view na ito:

SELECT * FROM [Current Product List]

Isa pang view na matatagpuan sa Northwind sample database ay magpipilian ng lahat ng produkto sa Products table na may halaga ng presyo na mas mataas kaysa sa pangkaraniwang halaga ng presyo:

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 

Maaari naming gumawa ng ganitong query sa view na ito:

SELECT * FROM [Products Above Average Price]

Isa pang view instance mula sa Northwind database na nagtutukoy sa kabuuang benta ng bawat uri noong 1997. Maaaring sabihin na ang view na ito ay gumagamit ng data mula sa ibang view na tinatawag na "Product Sales for 1997":

CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName 

Maaari naming gumawa ng ganitong query sa view na ito:

SELECT * FROM [Category Sales For 1997]

Maaari din naming idagdag ang kondisyon sa query. Ngayon, nais naming tingnan lamang ang buong benta ng kategorya na "Beverages":

SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'

Pag-update ng View sa SQL

Maaari mong gamitin ang sumusunod na sintaks upang i-update ang view:

Syntax ng CREATE OR REPLACE VIEW sa SQL
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

Ngayon, gusto naming idagdag ang kategorya sa view na "Current Product List". gagamitin natin ang sumusunod na SQL upang i-update ang view:

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

Pagsasauli ng View sa SQL

Maaari mong alisin ang view sa pamamagitan ng utos na DROP VIEW.

Syntax ng DROP VIEW sa SQL

DROP VIEW view_name