Create View w MS SQL



Teraz zajmijmy się widokami w T-SQL aby stworzyć widok użyjemy polecenia CREATE VIEW as, widok określił bym mianem na sztywno zapisanego polecenia "SELECT" lub wirtualną tabelą, która prezentuje dane z jednego lub wielu źródeł.
Struktuwa widoku:
CREATE VIEW view_name AS 
[ ( column [ ,...n ] ) ]


Tworząc widok należy pamiętać by polecenie CRETE VIEW było pierwszym polceniem w naszym statment bach (kod do go), widok nie może zawierać polecenia INTO, COMPUTE, COMPUTE BY oraz ORDER BY chyba że użyjemy polcenia TOP.
Przykład:
CREATE VIEW v_styczen as 
	SELECT
	   [Id]
      ,[Produktid]
      ,[Miastatid]
      ,[Ilosc]
      ,[Koszt]
      ,[DataZamowienia]
	FROM
	[sprzedarz]
	WHERE
	month([DataZamowienia]) = 1
W ten sposón stworzyliśmy widok o nazwie v_widok_styczen jakie ma to zastosowanie? Jeśli zrobimy zapytanie na widoku:
SELECT
ilosc,
miesiac
FROM
v_widok_styczen

go
Jego wynikiem będą te same wartości co w z zapytania z lekcji 1. reasumując widok pozwala nam na sztywne zdefiniowanie dowolnego zapytania na tabeli.

Modyfikacja widoku w MS SQL

DROP VIEW v_styczen

Za pomocą polecenia DROP możemy usunąć całkowicie widok, tabele lub procedurę.
ALTER VIEW v_styczen as 
SELECT
       [Produktid]
      ,[Miastatid]
      ,[Ilosc]
      ,[Koszt]
      ,[DataZamowienia]
	FROM
	[sprzedarz]
	WHERE
	month([DataZamowienia]) = 1

W tym przykładzie możemy zauważyć jak łatwo dokonać modyfikacji istniejącego widoku jeśli chcemy by widok ukazywał dane za luty
Bardzo przydatną funkcją jest CASE zanim ją umówię przyjrzyjmy się jej działaniu.(Więcej o funckcji CASE w lekcji UŻYCIE FUNKCJI CASE w MSSQL)
ALTER VIEW v_sprzedarz as (
SELECT
       [Produktid]
      ,[Miastatid]
      ,[Ilosc]
      ,[Koszt]
      ,case when month([DataZamowienia])=1 then 'I'
	  when month([DataZamowienia])=2 then 'II'
	  when month([DataZamowienia])=3 then 'III'
	  when month([DataZamowienia])=4 then 'IV'
	  else null end
	FROM
	[sprzedarz]

W tym przykładzie funkcja CASE "zamienia" słowne nazwy miesięcy na ich rzymskie odpowiedniki, konstrukcja funkcji CASE WHEN wartość, warunek =,>,!=,like,in, not in, not like oraz nowa wartość oraz opcjonalnie ELSE dla pozostałych wartości funkcja musi się kończyć poleceniem END.







SQL-KURSY.pl poleca:

Rozpocznij kolonizacje egzoplanety

Książki
ksikaksikaksikaksikaksika

Copyright 2010-2011 Mariusz Kujawski adres mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional