En visning repræsenterer en virtuel bord. Du kan samle flere tabeller i en visning og bruge visningen til at præsentere dataene, som om dataene kom fra en enkelt tabel.
En lagret procedure bruger parametre til at udføre en funktion... uanset om det er at opdatere og indsætte data eller returnere enkelte værdier eller datasæt.
Oprettelse af visninger og lagrede procedurer - har nogle oplysninger fra Microsoft om hvornår og hvorfor man skal bruge hver.
Lad os sige, at jeg har to borde:
tbl_user
, med kolonner:user_id
,user_name
,user_pw
tbl_profile
, med kolonner:profile_id
,user_id
,profile_description
Så hvis jeg finder mig selv i at forespørge fra disse tabeller MEGET... i stedet for at lave joinforbindelsen i HVER stykke SQL, ville jeg definere en visning som:
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
Så hvis jeg ønsker at forespørge profile_description
af user_id
i fremtiden skal jeg kun:
SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
Denne kode kunne bruges i en lagret procedure som:
CREATE PROCEDURE dbo.getDesc
@ID int
AS
BEGIN
SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
END
GO
Så senere kan jeg ringe til:
dbo.getDesc 25
og jeg får beskrivelsen af user_id
25, hvor 25
er din parameter.
Der er åbenbart mange flere detaljer, dette er bare den grundlæggende idé.