Creazione di modelli personalizzati
SQL Server Management Studio include modelli da utilizzare per molte attività comuni. L'effettivo vantaggio dei modelli, tuttavia, consiste nella possibilità di creare un modello personalizzato per uno script complesso che è necessario creare frequentemente. In questa esercitazione verranno illustrate le procedure per la creazione di uno script semplice con un numero limitato di parametri, ma i modelli risultano utili anche per script complessi e ripetitivi.
Utilizzo di modelli personalizzati
Per creare un modello personalizzato
In Esplora modelli espandere Modelli di SQL Server, fare clic con il pulsante destro del mouse su Stored procedure, scegliere Nuova e quindi Cartella.
Digitare Custom come nome della nuova cartella del modello e quindi premere INVIO.
Fare clic con il pulsante destro del mouse su Custom, scegliere Nuovo e quindi scegliere Modello.
Digitare WorkOrdersProc come nome del nuovo modello e quindi premere INVIO.
Fare clic con il pulsante destro del mouse su WorkOrdersProc e quindi scegliere Modifica.
Nella finestra di dialogo Connetti al Motore di database verificare le informazioni di connessione e quindi fare clic su Connetti.
Nell'editor di query digitare lo script seguente per creare una stored procedure che ricerca negli ordini una determinata parte, in questo caso Blade. (È possibile copiare e incollare il codice dalla finestra dell'esercitazione).
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
Premere F5 per eseguire lo script e creare la procedura WorkOrdersForBlade.
In Esplora oggetti fare clic con il pulsante destro del mouse sul server e quindi scegliere Nuova query. Verrà visualizzata una nuova finestra dell'editor di query.
Nell'editor di query digitare EXECUTE dbo.WorkOrdersForBlade e quindi premere F5 per eseguire la query. Verificare che il riquadro Risultati restituisca l'elenco di ordini richiesto.
Modificare lo script del modello (lo script nel passaggio 7) sostituendo il nome del prodotto Blade con il parametro <product_name, nvarchar(50), name> in quattro punti.
[!NOTA]
Per i parametri sono necessari tre elementi, ovvero il nome che si desidera restituire, il tipo di dati e il valore predefinito.
Lo script dovrebbe corrispondere a quanto segue:
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
Scegliere Salva WorkOrdersProc.sql dal menu File per salvare il modello.
Per verificare il funzionamento del modello personalizzato
In Esplora modelli espandere Stored Procedure, espandere Custom e quindi fare doppio clic su WorkOrderProc.
Nella finestra di dialogo Connetti al Motore di database specificare le informazioni di connessione e quindi fare clic su Connetti. Verrà visualizzata una nuova finestra dell'editor di query che include il contenuto del file WorkOrderProc.
Scegliere Imposta valori per parametri modello dal menu Query.
Nella finestra di dialogo Sostituisci parametri modello come valore product_name digitare FreeWheel (sovrascrivendo il contenuto predefinito) e quindi fare clic su OK per chiudere la finestra di dialogo Sostituisci parametri modello e modificare lo script nell'editor di query.
Premere F5 per eseguire la query e creare la procedura.