Création de modèles personnalisés
SQL Server Management Studio est fourni avec des modèles pour de nombreuses tâches communes, mais le réel intérêt des modèles réside dans la possibilité de créer un modèle personnalisé pour les scripts complexes qui doivent être créés souvent. Au cours de cet exercice pratique, vous allez créer un script simple avec quelques paramètres, mais les modèles peuvent être utiles également pour les scripts longs et répétitifs.
Utilisation de modèles personnalisés
Pour créer un modèle personnalisé
Dans l'Explorateur de modèles, développez Modèles SQL Server, cliquez avec le bouton droit sur Procédure stockée, pointez sur Nouveau et cliquez sur Dossier.
Tapez Personnalisé comme nom de dossier de modèles et appuyez sur Entrée.
Cliquez avec le bouton droit sur Personnalisé, pointez sur Nouveau et cliquez sur Modèle.
Tapez WorkOrdersProc (ProcBonTravail) comme nom de dossier de modèles et appuyez sur Entrée.
Cliquez avec le bouton droit sur WorkOrdersProc, puis cliquez sur Modifier.
Dans la boîte de dialogue Se connecter au moteur de base de données, vérifiez les informations de connexion, puis cliquez sur Se connecter.
Dans l'Éditeur de requête, tapez le script suivant pour créer une procédure stockée qui recherche les bons d'une pièce en particulier, dans le cas présent la lame. (Vous pouvez copier et coller le code à partir de la fenêtre du didacticiel.)
USE AdventureWorks; GO IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_NAME = 'WorkOrdersForBlade') DROP PROCEDURE dbo.WorkOrdersForBlade GO CREATE PROCEDURE dbo.WorkOrdersForBlade AS SELECT Name, WorkOrderID FROM Production.WorkOrder AS WO JOIN Production.Product AS Prod ON WO.ProductID = Prod.ProductID WHERE Name = 'Blade'; GO
Appuyez sur F5 pour exécuter ce script et créer la procédure WorkOrdersForBlade.
Dans l'Explorateur d'objets, cliquez avec le bouton droit sur votre serveur et choisissez Nouvelle requête. Une nouvelle fenêtre de l'Éditeur de requête s'ouvre.
Dans l'Éditeur de requête, tapez EXECUTE dbo.WorkOrdersForBlade et appuyez sur F5 pour exécuter la requête. Vérifiez si le volet Résultats affiche la liste des bons de travaux pour les lames.
Modifiez le script du modèle (le script de l'étape 7) en remplaçant le nom du produit Blade (Lame) par le paramètre <product_name, nvarchar(50), name>, en quatre endroits.
[!REMARQUE]
Les paramètres nécessitent trois éléments : le nom du paramètre à remplacer, le type de données du paramètre et une valeur par défaut pour le paramètre.
Le script doit à présent ressembler à ce qui suit :
USE AdventureWorks GO IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_NAME = 'WorkOrdersFor<product_name, nvarchar(50), name>') DROP PROCEDURE dbo.WorkOrdersFor<product_name, nvarchar(50), name> GO CREATE PROCEDURE dbo.WorkOrdersFor<product_name, nvarchar(50), name> AS SELECT Name, WorkOrderID FROM Production.WorkOrder AS WO JOIN Production.Product AS Prod ON WO.ProductID = Prod.ProductID WHERE Name = '<product_name, nvarchar(50), name>'; GO
Dans le menu Fichier, cliquez sur Save WorkOrdersProc.sql (Enregistrer ProcBonTravail.sql) pour enregistrer votre modèle.
Pour tester le modèle personnalisé
Dans l'Explorateur de modèles, développez Procédure stockée puis Personnalisé et double-cliquez sur WorkOrderProc.
Dans la boîte de dialogue Se connecter au moteur de base de données, fournissez les informations de connexion, puis cliquez sur Se connecter. Une nouvelle fenêtre de l'Éditeur de requête s'affiche avec le modèle WorkOrderProc.
Dans le menu Requête, cliquez sur Spécifier les valeurs des paramètres du modèle.
Dans la boîte de dialogue Spécifier des valeurs pour les paramètres de modèle, pour la valeur nom_produit, tapez FreeWheel (Roue) (en remplaçant le contenu du champ), puis cliquez sur OK pour fermer la boîte de dialogue Spécifier des valeurs pour les paramètres de modèle et modifier le script dans l'Éditeur de requête.
Appuyez sur F5 pour exécuter la requête et créer la procédure.