Gespeicherte Prozeduren für einen SQL Server Express
Microsoft SQL Server Express ist eine kostenlose Version von Microsoft SQL Server, einer Ressource zum Verwalten und Erstellen von Datenbanken sowie zum Durchführen von Datenanalysen. Ein Großteil der Funktionalität der nicht kostenlosen Version von SQL Server ist in SQL Server Express enthalten, einschließlich des visuellen Verwaltungstools SQL Management Studio und der Möglichkeit, gespeicherte Prozeduren zu verwenden.
Sprache der gespeicherten Prozeduren
Gespeicherte Prozeduren sind SQL-Abfragen, die SQL Server-Benutzer speichern und dann zur späteren Ausführung abrufen können. Zu den wichtigsten Merkmalen gespeicherter Prozeduren gehören ihre Programmierbarkeit und ihre Fähigkeit, Parameter zu akzeptieren. Gespeicherte Prozeduren werden in der Programmiersprache von Transact SQL geschrieben, die zum Ausführen von Datenbankabfragen verwendet wird. Gespeicherte Prozeduren haben die Form anderer SQL-Anweisungen, die in Transact SQL geschrieben wurden, und akzeptieren auch Parameter.
Gespeicherte Prozeduren erstellen
In Microsoft SQL Server kann eine neue gespeicherte Prozedur erstellt werden, indem im Objekt-Explorer mit der rechten Maustaste auf einen Ordner mit vorhandenen gespeicherten Prozeduren namens \"Gespeicherte Prozeduren\" geklickt wird. SQL Server erstellt diesen Ordner automatisch, wenn eine neue Datenbank erstellt wird, und platziert ihn hier in der Ordnerhierarchie: [dbaseName]>[\"Programmability\"]>[\"Stored Procedures\"].
Neue gespeicherte Prozeduren für dbaseName werden außerhalb des Unterordners \"System Stored Procedures\" gespeichert, der sich unter [\"Stored Procedures\"] befindet. Beim Erstellen einer neuen Datenbank füllt SQL Server den Ordner System Stored Procedures mit Skripts zum Verwalten der Datenbank. SQL Server-Benutzer müssen diese gespeicherten Systemprozeduren nicht verwenden, um ihre eigenen zu erstellen.
Nachdem die gespeicherte Prozedur anfänglich erstellt wurde, wird eine neue Abfrageregisterkarte geöffnet. Die Registerkarte enthält eine Vorlage oder Beispielabfrage, die der Benutzer dann entsprechend seinen Zwecken ändert.
Beispielverfahren
Ein Beispiel für eine gespeicherte Prozedur ist die folgende:
USE [test] GO CREATE PROCEDURE [dbo].[mysp_selectstuff] AS -- SET NOCOUNT ON hinzugefügt, um zu verhindern, dass zusätzliche Resultsets -- SELECT-Anweisungen stören. -- NOCOUNT ON GO EINSTELLEN
-- Hier Anweisungen für Prozedur einfügen SELECT * from dbo.Movies GO GO EXEC [dbo].[mysp_selectstuff] GO GO DROP PROCEDURE [dbo].[mysp_selectstuff] GO GO
Struktur einer gespeicherten Prozedur
Es ist üblich, die SQL-Anweisungen groß zu schreiben, um sie von den Datenbankkomponenten zu unterscheiden, auf denen die Anweisungen arbeiten. Kommentare beginnen mit der Zeichenfolge \"--\". Diese haben keine Auswirkung auf die Abfrage. In diesem Beispiel heißt die abgefragte Datenbank \"test\" und die Tabelle in dieser Datenbank ist Movies. Das Präfix \"dbo\" wird zu Movies hinzugefügt, um es von anderen Tabellen zu trennen, die möglicherweise denselben Namen haben. Die vollständige Abfrage wählt einfach alle Felder für alle Datensätze in der Tabelle "Filme" aus.
Ausführen gespeicherter Prozeduren
Die GO-Anweisungen sind wie die RUN-Anweisungen in BASIC-Programmen: Sie weisen den SQL-Interpreter an, die ihnen vorausgehenden Anweisungen auszuführen. Die EXEC-Anweisung führt die Abfrage aus, und DROP PROCEDURE gibt die Abfrage nach der Ausführung frei, was erforderlich ist, bevor die Abfrage erneut ausgeführt wird. Die eingegebene Abfrage wird tatsächlich von SQL Server ausgeführt, wenn F5 oder die Symbolleistenschaltfläche Ausführen gedrückt wird.