Creare modelli personalizzati
SQL Server Management Studio include modelli per molte attività comuni, ma il reale potere dei modelli è la possibilità di creare un modello personalizzato per uno script complesso che è necessario creare di frequente. 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 Nuovae selezionare Cartella.
Digitare Custom come nome della nuova cartella del modello e premere INVIO.
Fare clic con il pulsante destro del mouse su Custom, scegliere Nuovoe selezionare Modello.
Digitare WorkOrdersProc come nome del nuovo modello e premere INVIO.
Fare clic con il pulsante destro del mouse su WorkOrdersProce scegliere Modifica.
Nella finestra di dialogo Connetti al motore di database verificare le informazioni di connessione e 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 AdventureWorks20012; 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 scegliere Nuova query. Verrà visualizzata una nuova finestra dell'editor di query.
Nell'editor di query digitare EXECUTE dbo.WorkOrdersForBladee premere F5 per eseguire la query. Verificare che nel riquadro Risultati sia visualizzato l'elenco di ordini di blade richiesto.
Modificare lo script del modello (script nel passaggio 7), sostituendo il nome del prodotto Con il parametro product_name, ,>
nvarchar(50)
nome, in quattro posizioni.<product_nameNota
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 AdventureWorks20012; 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 Proceduree Custome 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 modello WorkOrderProc .
Scegliere Imposta valori per parametri modello dal menu Query.
Nella finestra di dialogo Sostituisci parametri modello digitare FreeWheel (sovrascrivendo il contenuto predefinito) e quindi fare clic su OK per chiudere la finestra di dialogo
product_name
Sostituisci parametri modello e modificare lo script nella Editor di query.Premere F5 per eseguire la query e creare la procedura.