Création des vues et des procédures stockées
Nouveau : 14 avril 2006
Étant donné que Mary peut désormais accéder à la base de données TestData, vous pouvez envisager de créer des objets de base de données, tels qu'une vue et une procédure stockée, puis octroyer à Mary l'accès à ses objets. Une vue est une instruction SELECT stockée, et une procédure stockée correspond à une ou plusieurs instructions Transact-SQL qui s'exécutent comme un lot.
Les vues peuvent être interrogées comme des tables et n'acceptent pas de paramètres. Les procédures stockées sont plus complexes que les vues. Elles peuvent contenir des paramètres d'entrée et de sortie et peuvent contenir des instructions pour contrôler le flux du code, comme les instructions IF et WHILE. Il est recommandé de faire appel aux procédures stockées pour coder toutes les actions répétitives dans la base de données
Pour cet exemple, vous allez utiliser CREATE VIEW pour créer une vue qui sélectionne seulement deux des colonnes dans la table Products. Puis, vous allez utiliser l'instruction CREATE PROCEDURE pour créer une procédure stockée qui accepte un paramètre de prix et retourne uniquement les produits dont le prix est inférieur à la valeur de paramètre spécifiée.
Pour créer une vue
Exécutez l'instruction suivante pour créer une vue très simple qui exécute une instruction SELECT et retourne les noms et les prix de nos produits à l'utilisateur.
CREATE VIEW vw_Names AS SELECT ProductName, Price FROM Products; GO
Tester la vue
Les vues sont traitées comme des tables. Utilisez une instruction
SELECT
pour accéder à une vue.SELECT * FROM vw_Names; GO
Pour créer une procédure stockée
L'instruction suivante crée un nom de procédure stockée
pr_Names
, accepte un paramètre d'entrée nommé@VarPrice
du type de donnéesmoney
. La procédure stockée imprime l'instructionProducts less than
concaténée avec le paramètre d'entrée dont le type de donnéesmoney
est remplacé par un type de données charactervarchar(10)
. Puis, la procédure exécute une instructionSELECT
sur la vue et passe le paramètre d'entrée dans le cadre de la clauseWHERE
. Cette opération retourne tous les produits dont le prix est inférieur à la valeur du paramètre d'entrée.CREATE PROCEDURE pr_Names @VarPrice money AS BEGIN -- The print statement returns text to the user PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10)); -- A second statement starts here SELECT ProductName, Price FROM vw_Names WHERE Price < @varPrice; END GO
Tester la procédure stockée
Pour tester la procédure stockée, tapez et exécutez l'instruction suivante. La procédure doit retourner les noms des deux produits entrés dans la table
Products
à la leçon 1 avec un prix inférieur à10.00
.EXECUTE pr_Names 10.00; GO
Tâche suivante de la leçon
Octroi de l'accès à un objet de base de données
Voir aussi
Autres ressources
CREATE VIEW (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
Contrôle de flux
Procédures dans Transact-SQL