Heim  >  Artikel  >  Datenbank  >  Erste Schritte mit SQL Server 7.0 (6)

Erste Schritte mit SQL Server 7.0 (6)

黄舟
黄舟Original
2016-12-24 17:40:04945Durchsuche

Erstellen Sie einen Hauptteil einer gespeicherten Prozedur
Die Logik der gespeicherten Prozedur befindet sich im Hauptteil der gespeicherten Prozedur. Der Hauptteil einer gespeicherten Prozedur kann eine beliebige Transact-SQL-Anweisung enthalten. Die folgenden Transact-SQL-Anweisungen dürfen in keinem gespeicherten Prozedurhauptteil erscheinen: CREATE DEFAULT
CREATE TRIGGER
CREATE PROCEDURE
CREATE VIEW 1. Teilvariable
Lokale Variablen enthalten gespeicherte Prozedurzwischenwerte. Lokale Variablen werden verwendet, wenn ein Wert in einer gespeicherten Prozedur mehrmals benötigt wird oder wenn die Ergebnisse einer bestimmten Abfrage in nachfolgenden Abfragen verwendet werden müssen. In diesen Fällen wird der Wert in einer lokalen Variablen gespeichert und steht für die zukünftige Verwendung zur Verfügung. Die Namen lokaler Variablen beginnen mit dem „@“-Symbol. Variablennamen können Zeichen und numerische Werte enthalten. Lokale Variablen erfordern vor der Verwendung eine Typdeklaration. Das Zuweisen von Werten zu lokalen Variablen erfordert die Verwendung der SELECT-Anweisung. SELECT kann einen Wert aus einer Tabelle abrufen und ihn einer Variablen zuweisen, oder es kann einer Variablen einen konstanten Wert zuweisen. Eine einfache SELECT-Anweisung kann mehreren lokalen Variablen Werte zuweisen.
Zum Beispiel:
DECLARE @var1 integer, @var2 varchar(20)
SELECT @var1 = 32,
   @var2 = 'MyAge'
Wenn von der SELECT-Abfrage keine Daten zurückgegeben werden Und SELECT weist den Wert der Daten einer lokalen Variablen zu, sodass sich der Wert der lokalen Variablen nicht ändert.
2. Bedingungsphrasen
Die in der gespeicherten Prozedur bereitgestellten Bedingungsanweisungen umfassen:
·IF...ELSE-Anweisung.
· WHILE-Anweisung.
1) IF...ELSE-Anweisung. Diese Anweisung besteht aus drei Teilen: Boolescher Operationsausdruck, IF-Anweisungsblock und ELSE-Anweisungsblock. Die Syntax lautet wie folgt:
IF (boolen_expr)
{Anweisungen}
ELSE
{Anweisungen}
Der IF- oder ELSE-Anweisungsblock kann mehrere Anweisungen enthalten Die Anweisung BEGIN ist erforderlich und die Anweisung END zum Markieren von Anweisungsblöcken.
2) WHILE-Anweisung. Mit der WHILE-Anweisung werden Anweisungen verarbeitet, die wiederholt ausgeführt werden, bis eine bestimmte Bedingung TRUE ist. Die Syntax lautet wie folgt:
WHILE (boolen_expr)
BEGIN
​​​​Anweisung(en)
BREAK
Anweisung(en)
CONTINUE
END
Anweisungsmarkierungen der Schleifenkörper. Die BREAK-Anweisung beendet die Ausführung der Schleife (d. h. geht nach der END-Anweisung). Die CONTINUE-Anweisung gibt die Steuerungsverarbeitung an den Anfang der Schleife zurück (rechts von der BEGIN-Anweisung).
Hinweis: Wenn zwei oder mehr WHILE-Schleifen verschachtelt sind, verlässt der innere BREAK die zweite äußere Schleife. Alle Anweisungen nach dem Ende der inneren Schleife können nach der Ausführung der inneren Schleife weiter ausgeführt werden.

3. GOTO-Anweisung
Bei der Ausführung der gespeicherten Prozedur werden die Anweisungen nacheinander ausgeführt. Die GOTO-Anweisung wird verwendet, um die Ausführungsreihenfolge solcher Anweisungen zu unterbrechen. Sie springt sofort zu einer bestimmten Anweisung zur Ausführung, und diese Anweisung folgt häufig nicht unmittelbar auf die vorherige Anweisung. Die GOTO-Anweisung wird mit einem Label (Label) verwendet, das eine Anweisung identifiziert.
Zum Beispiel:
USE pubs
GO

DECLARE @num int
SELECT
IF @num = 0
GOTO Err
ELSE
BEGIN
PRINT 'Autoren gefunden'
SELECT * FROM Authors
GOTO Last
END
Fehler: PRINT 'keine Autoren gefunden'
Letztes: PRINT 'Ausführung beenden'
GO
4. RETURN-Anweisung
Die RETURN-Anweisung wird verwendet, um eine gespeicherte Prozedur bedingungslos zu beenden. Alle Anweisungen nach RETURN werden nicht mehr ausgeführt. Die RETURN-Anweisung kann einen Wert an die aufrufende Anweisung zurückgeben, sie kann jedoch keinen NULL-Wert zurückgeben. SQL Server gibt häufig einen Statuswert für gespeicherte Prozeduren zurück. Bei erfolgreicher Ausführung wird eine 0 zurückgegeben. Tritt ein Fehler auf, wird ein negativer Fehlercode zurückgegeben.
Von der gespeicherten Prozedur zurückgegebener Fehlercode. Nicht schwerwiegendes internes Problem

-1
Objekt fehlt
-9
Systemlimit erreicht

-2
Es ist ein Datentypfehler aufgetreten
-10
Ein schwerwiegender interner Inkonsistenzfehler ist aufgetreten

-3
Der Prozess wurde als Opfer eines Deadlocks ausgewählt
-11
Ein schwerwiegender Fehler Es ist ein interner Inkonsistenzfehler aufgetreten

-4
Ein Berechtigungsfehler ist aufgetreten
-12
Die Tabelle oder der Index war beschädigt

-5
Ein Syntaxfehler ist aufgetreten
-13
Datenbank ist beschädigt

-6
Ein gemischter Benutzerfehler ist aufgetreten
-14
Ein Hardwarefehler ist aufgetreten

-7
Ressourcenfehler, z. B. unzureichender Speicherplatz usw.


5. Verwenden Sie den Cursor (CURSOR). Cursor sind sehr nützlich, wenn Sie Zeile für Zeile verarbeiten müssen. Cursor können eine Ergebnismenge öffnen (nach bestimmten Kriterien ausgewählte Zeilen) und bieten die Möglichkeit, die Ergebnismenge Zeile für Zeile zu verarbeiten. Je nach Cursortyp kann ein Rollback oder ein Forward durchgeführt werden. Bei der Verwendung eines Cursors sind 5 Schritte erforderlich:

Das Obige ist der Inhalt von Erste Schritte mit SQL Server 7.0 (6). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php). cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn