Erstellen benutzerdefinierter Vorlagen

Zu SQL Server Management Studio gehört eine Reihe von Vorlagen für viele häufig ausgeführten Aufgaben. Der größte Vorteil von Vorlagen besteht jedoch darin, dass Sie für ein komplexes Skript, das Sie häufig erstellen müssen, eine benutzerdefinierte Vorlage anlegen können. Sie werden nun ein einfaches Skript mit wenigen Parametern erstellen. Vorlagen sind jedoch auch bei umfangreichen Skripts mit vielen Wiederholungen nützlich.

Verwenden benutzerdefinierter Vorlagen

So erstellen Sie eine benutzerdefinierte Vorlage

  1. Erweitern Sie SQL Server-Vorlagen im Vorlagen-Explorer, klicken Sie mit der rechten Maustaste auf Gespeicherte Prozedur, zeigen Sie auf Neu, und klicken Sie dann auf Ordner.

  2. Geben Sie Custom als Namen für den neuen Vorlagenordner ein, und drücken Sie dann die EINGABETASTE.

  3. Klicken Sie mit der rechten Maustaste auf Custom, zeigen Sie auf Neu, und klicken Sie dann auf Vorlage.

  4. Geben Sie WorkOrdersProc als Namen für die neue Vorlage ein, und drücken Sie dann die EINGABETASTE.

  5. Klicken Sie mit der rechten Maustaste auf WorkOrdersProc, und klicken Sie dann auf Bearbeiten.

  6. Überprüfen Sie im Dialogfeld Verbindung mit Datenbankmodul herstellen die Verbindungseinstellungen, und klicken Sie dann auf Verbinden.

  7. Geben Sie im Abfrage-Editor das folgende Skript ein, um eine gespeicherte Prozedur zu erstellen, über die Bestellungen für ein bestimmtes Teil gesucht werden. In diesem Fall handelt es sich um Klingen (Blade). (Sie können den Code im Fenster des Lernprogramms kopieren und dann einfügen.)

    USE AdventureWorks2008R2;
    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. Drücken Sie F5, um das Skript auszuführen. Damit wird die Prozedur WorkOrdersForBlade erstellt.

  9. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf Ihren Server, und klicken Sie dann auf Neue Abfrage. Ein neues Abfrage-Editorfenster wird geöffnet.

  10. Geben Sie im Abfrage-Editor EXECUTE dbo.WorkOrdersForBlade ein, und drücken Sie dann F5, um die Abfrage auszuführen. Überprüfen Sie, ob im Bereich Ergebnisse eine Liste mit Bestellungen für Klingen zurückgegeben wird.

  11. Bearbeiten Sie das Vorlagenskript (das Skript von Schritt 7), und ersetzen Sie dabei den Produktnamen Blade an vier Stellen durch den Parameter <product_name, nvarchar(50), name>.

    HinweisHinweis

    Für Parameter sind drei Elemente erforderlich: der Name des zu ersetzenden Parameters, der Datentyp des Parameters und ein Standardwert für den Parameter.

  12. Das Skript sollte nun wie folgt aussehen:

    USE AdventureWorks2008R2;
    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. Klicken Sie im Menü Datei auf WorkOrdersProc.sql speichern, um Ihre Vorlage zu speichern.

So testen Sie die benutzerdefinierte Vorlage

  1. Erweitern Sie im Vorlagen-Explorer Gespeicherte Prozeduren, erweitern Sie Benutzerdefiniert, und doppelklicken Sie dann auf WorkOrderProc.

  2. Vervollständigen Sie im Dialogfeld Verbindung mit Datenbankmodul herstellen die Verbindungseinstellungen, und klicken Sie dann auf Verbinden. Ein neues Fenster des Abfrage-Editors wird geöffnet, in dem der Inhalt der Vorlage WorkOrderProc angezeigt wird.

  3. Klicken Sie im Menü Abfrage auf Werte für Vorlagenparameter angeben.

  4. Geben Sie im Dialogfeld Werte für Vorlagenparameter angeben für den Wert product_name die Eingabe FreeWheel ein (Sie überschreiben dabei den Standardinhalt). Klicken Sie auf OK, um das Dialogfeld Werte für Vorlagenparameter angeben zu schließen und das Skript im Abfrage-Editor zu ändern.

  5. Drücken Sie F5, um das Skript auszuführen. Damit wird die Prozedur erstellt.

Nächste Aufgabe in dieser Lektion

Speichern von Skripts in Projekten und Projektmappen