Widok reprezentuje wirtualny stół. Możesz łączyć wiele tabel w jednym widoku i używać widoku do prezentowania danych tak, jakby pochodziły z jednej tabeli.
Procedura składowana używa parametrów do wykonania funkcji... niezależnie od tego, czy aktualizuje i wstawia dane, czy zwraca pojedyncze wartości lub zestawy danych.
Tworzenie widoków i zapisanych procedur - posiada informacje od firmy Microsoft, kiedy i dlaczego ich używać.
Załóżmy, że mam dwa stoły:
tbl_user
, z kolumnami:user_id
,user_name
,user_name
tbl_profile
, z kolumnami:profile_id
,user_id
,profile_description
Tak więc, jeśli znajdę się w zapytaniach z tych tabel DUŻO... zamiast robić sprzężenie w KAŻDYM kawałku SQL, zdefiniowałbym widok taki jak:
CREATE VIEW vw_user_profile
AS
SELECT A.user_id, B.profile_description
FROM tbl_user A LEFT JOIN tbl_profile B ON A.user_id = b.user_id
GO
Tak więc, jeśli chcę zapytać o profile_description
przez user_id
w przyszłości wszystko, co muszę zrobić, to:
SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
Ten kod może być użyty w procedurze składowanej, takiej jak:
CREATE PROCEDURE dbo.getDesc
@ID int
AS
BEGIN
SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
END
GO
Więc później mogę zadzwonić:
dbo.getDesc 25
i otrzymam opis dla user_id
25, gdzie 25
jest twoim parametrem.
Oczywiście jest o wiele więcej szczegółów, to tylko podstawowa idea.