Una vista rappresenta un virtuale tavolo. Puoi unire più tabelle in una vista e utilizzare la vista per presentare i dati come se provenissero da un'unica tabella.
Una procedura memorizzata utilizza i parametri per eseguire una funzione... che si tratti di aggiornare e inserire dati o restituire valori singoli o set di dati.
Creazione di viste e stored procedure - ha alcune informazioni da Microsoft su quando e perché usarle.
Supponiamo di avere due tabelle:
tbl_user, con colonne:user_id,user_name,user_pwtbl_profile, con colonne:profile_id,user_id,profile_description
Quindi, se mi ritrovo a interrogare MOLTO quelle tabelle... invece di fare il join in OGNI pezzo di SQL, definirei una vista come:
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
Quindi, se voglio interrogare profile_description da user_id in futuro, tutto ciò che devo fare è:
SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
Quel codice potrebbe essere utilizzato in una procedura memorizzata come:
CREATE PROCEDURE dbo.getDesc
@ID int
AS
BEGIN
SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
END
GO
Quindi, in seguito, posso chiamare:
dbo.getDesc 25
e otterrò la descrizione per user_id 25, dove il 25 è il tuo parametro.
Ovviamente ci sono molti più dettagli, questa è solo l'idea di base.