Lezione 3-2 - Creare modelli personalizzatiLesson 3-2 - Create Custom Templates

SQL Server Management StudioSQL Server Management Studio include modelli da usare 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. comes with templates for many common tasks, but the real power of templates lies in the ability to create a custom template for a complex script that you must create frequently. 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.In this practice you will create a simple script with few parameters, but templates are useful for long, repetitive scripts, too.

Utilizzo di modelli personalizzatiUsing Custom Templates

Per creare un modello personalizzatoTo create a custom template

  1. In Esplora modelli espandere Modelli di SQL Server, fare clic con il pulsante destro del mouse su Stored procedure, scegliere Nuovae selezionare Cartella.In Template Explorer, expand SQL Server Templates, right-click Stored Procedure, point to New, and then click Folder.

  2. Digitare Custom come nome della nuova cartella del modello e premere INVIO.Type Custom as the name of your new template folder, and then press ENTER.

  3. Fare clic con il pulsante destro del mouse su Custom, scegliere Nuovoe selezionare Modello.Right-click Custom, point to New, and then click Template.

  4. Digitare WorkOrdersProc come nome del nuovo modello e premere INVIO.Type WorkOrdersProc as the name of your new template, and then press Enter.

  5. Fare clic con il pulsante destro del mouse su WorkOrdersProce scegliere Modifica.Right-click WorkOrdersProc, and then click Edit.

  6. Nella finestra di dialogo Connetti al motore di database verificare le informazioni di connessione e fare clic su Connetti.In the Connect to Database Engine dialog box, verify the connection information and then click Connect.

  7. Nell'editor di query digitare lo script seguente per creare una stored procedure che ricerca negli ordini una determinata parte, in questo caso Blade.In Query Editor, type the following script to create a stored procedure that looks up orders for a particular part, in this case the Blade. (È possibile copiare e incollare il codice dalla finestra dell'esercitazione).(You can copy and paste the code from the Tutorial window.)

    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  
    
  8. Premere F5 per eseguire lo script e creare la procedura WorkOrdersForBlade .Press F5 to execute this script, creating the WorkOrdersForBlade procedure.

  9. In Esplora oggetti fare clic con il pulsante destro del mouse sul server e scegliere Nuova query.In Object Explorer, right-click your server, and then click New Query. Verrà visualizzata una nuova finestra dell'editor di query.A new Query Editor window opens.

  10. Nell'editor di query digitare EXECUTE dbo.WorkOrdersForBladee premere F5 per eseguire la query.In Query Editor, type EXECUTE dbo.WorkOrdersForBlade, and then press F5 to execute the query. Verificare che nel riquadro Risultati sia visualizzato l'elenco di ordini di blade richiesto.Confirm that the Results pane returns a list of work orders for blades.

  11. Modificare lo script del modello, quello del passaggio 7, sostituendo il nome del prodotto Blade con il parametro <product_name, nvarchar(50), name*>, in quattro punto.Edit the template script (the script in step 7), replacing the product name Blade with the parameter ***<product_name, **nvarchar(50), name*>*, in four places.

    Nota

    Per i parametri sono necessari tre elementi, ovvero il nome che si desidera restituire, il tipo di dati e il valore predefinito.Parameters require three elements: the name of the parameter that you want to replace, the data type of the parameter, and a default value for the parameter.

  12. Lo script dovrebbe corrispondere a quanto segue:Now the script should look like:

    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  
    
  13. Scegliere Salva WorkOrdersProc.sql dal menu File per salvare il modello.On the File menu, click Save WorkOrdersProc.sql to save your template.

Per verificare il funzionamento del modello personalizzatoTo test the custom template

  1. In Esplora modelli espandere Stored Proceduree Custome fare doppio clic su WorkOrderProc.In Template Explorer, expand Stored Procedure, expand Custom, and then double-click WorkOrderProc.

  2. Nella finestra di dialogo Connetti al motore di database specificare le informazioni di connessione e fare clic su Connetti.In the Connect to Database Engine dialog box, complete the connection information and then click Connect. Verrà visualizzata una nuova finestra dell'editor di query che include il contenuto del modello WorkOrderProc .A new Query Editor window opens, containing the contents of the WorkOrderProc template.

  3. Scegliere Imposta valori per parametri modello dal menu Query.On the Query menu, click Specify Values for Template Parameters.

  4. Nella finestra di dialogo Replace Template Parameters (Sostituisci parametri modello), come valore di product_name , digitare FreeWheel , sovrascrivendo il contenuto predefinito, e fare clic su OK per chiudere la finestra di dialogo Replace Template Parameters (Sostituisci parametri modello) e modificare lo script nell'editor di query.In the Replace Template Parameters dialog box, for the product_name value, type FreeWheel (overwriting the default contents), and then click OK to close the Replace Template Parameters dialog box and modify the script in the Query Editor.

  5. Premere F5 per eseguire la query e creare la procedura.Press F5 to execute the query, creating the procedure.

Attività successiva della lezioneNext Task in Lesson

Salvare gli script come progetti o soluzioniSave Scripts as Projects or Solutions