Was ist eine Prozedur in SQL Server?

In SQL Server ist eine Prozedur ein gespeichertes Programm, an das Sie Parameter übergeben können. Es gibt keinen Wert wie eine Funktion zurück. Es kann jedoch einen Erfolgs – /Fehlerstatus an die Prozedur zurückgeben, die es aufgerufen hat.

Prozedur erstellen

Sie können Ihre eigenen gespeicherten Prozeduren in SQL Server (Transact-SQL) erstellen. Schauen wir mal genauer hin.

Syntax

Die syntax zum erstellen einer gespeicherten Prozedur in SQL Server (Transact-SQL) lautet:

schema_name Der name des Schemas, der Besitzer der gespeicherten Prozedur., procedure_name Der Name, der dieser Prozedur in SQL Server zugewiesen werden soll. @parameter Ein oder mehrere Parameter, die an die Prozedur übergeben werden. type_schema_name Das Schema, das den Datentyp besitzt, falls zutreffend. Datentyp Der Datentyp für @parameter. VARIIEREND wird es für Cursorparameter angegeben, wenn die Ergebnismenge ein Ausgabeparameter ist. standard Der Standardwert, der @parameter zugewiesen werden soll. OUT Es bedeutet, dass @parameter ein Ausgabeparameter ist. AUSGABE Es bedeutet, dass @parameter ein Ausgabeparameter ist. READONLY Es bedeutet, dass @parameter nicht von der gespeicherten Prozedur überschrieben werden kann., VERSCHLÜSSELUNG Dies bedeutet, dass die Quelle für die gespeicherte Prozedur nicht als Klartext in den Systemansichten in SQL Server gespeichert wird. NEU KOMPILIEREN bedeutet, dass ein Abfrageplan für diese gespeicherte Prozedur nicht zwischengespeichert wird. EXECUTE AS Klausel Es legt den Sicherheitskontext fest, um die gespeicherte Prozedur auszuführen. FÜR die REPLIKATION bedeutet dies, dass die gespeicherte Prozedur nur während der Replikation ausgeführt wird.

Beispiel

Schauen wir uns ein Beispiel an, wie eine gespeicherte Prozedur in SQL Server (Transact-SQL) erstellt wird.

Das Folgende ist ein einfaches Beispiel für eine Prozedur:

Diese Prozedur wird FindSite genannt., Es hat einen Parameter namens @site_name, der ein Ausgabeparameter ist,der basierend auf der Variablen @site_id aktualisiert wird.