Heim Datenbank MySQL-Tutorial Erste Schritte mit SQL Server 7.0 (8)

Erste Schritte mit SQL Server 7.0 (8)

Dec 24, 2016 pm 05:41 PM
server sql

Ergebnisse in gespeicherten Prozeduren zurückgeben
Es gibt drei Möglichkeiten, Ergebnisse aus gespeicherten Prozeduren zurückzugeben:
1. Ergebnismengen zurückgeben
Dies ist die gebräuchlichste Methode für Clientanwendungen, um Ergebnisse zurückzugeben. Die Ergebnismenge wird durch die Auswahl von Daten mithilfe der SELECT-Anweisung generiert. Ergebnismengen können aus permanenten Tabellen, temporären Tabellen oder lokalen Variablen generiert werden. Die Rückgabe von Ergebnissen an eine andere gespeicherte Prozedur ist kein effizienter Ansatz. Eine gespeicherte Prozedur kann nicht auf eine Ergebnismenge zugreifen, die von einer anderen gespeicherten Prozedur erstellt wurde.
Zum Beispiel eine Ergebnismenge aus einer permanenten Tabelle zurückgeben:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromPermtable
AS
SELECT au_iname FROM Authors
GO
Zum Beispiel , aus einer lokalen Variablen. Erstellen Sie eine Ergebnismenge:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromVariable
AS
DECLARE @au_iname char(20)
SELECT @au_iname = au_iname FROM Authors
WHERE au_id = ' 172-32-1176'
SELECT @au_id
GO
2. Legen Sie den Wert des OUTPUT-Parameters fest
Ausgabeparameter werden häufig zum Abrufen von Ergebnissen aus gespeicherten Prozeduren verwendet. Wenn ein Parameter bei der Übertragung an eine gespeicherte Prozedur als OUTPUT definiert ist, bleiben alle Änderungen am Parameter auch nach dem Verlassen des Speichers wirksam.
Zum Beispiel:
Pubs VERWENDEN
GO
PROZEDUR ERSTELLEN ap_SetOutputVar @count integer OUTPUT
AS
SELECT @count = count(*) FROM Authors
GO
OUTPUT FROM Rufen Sie den Wert aus dem Parameter ab:
USE pubs
GO
CREATE PROCEDURE ap_GetOutputVar
AS
DECLARE @num integer
EXECUTE ap_SetOutputVar @num OUTPUT
PRINT „the count is ”+ Convert(char,@num)
GO
· Cursor als OUTPUT-Parameter verwenden. Cursor können OUTPUT-Parameter (Ausgabeparameter) verwenden, jedoch nicht als Eingabeparameter. Mit anderen Worten: Der Cursor kann als Ergebnis zurückgegeben, aber nicht an die Prozedur übergeben werden. Wenn ein Cursor als Parameter verwendet wird, muss er als OUTPUT und VARYING qualifiziert sein. Das Schlüsselwort VARYING gibt an, dass die Ergebnismenge zur Unterstützung von Ausgabeparametern verwendet werden soll. Dies bietet die Möglichkeit, eine Ergebnismenge an die aufrufende Prozedur zurückzugeben.
Zum Beispiel:
Pubs VERWENDEN
GO
PROZEDUR ERSTELLEN GetTitleCount @count_cursor CURSOR VARYING OUTPUT
AS
SET @count_cursor = CURSOR
FOR
SELECT au_id,count( * )
FROM titleauthors
GROUP BY au_id
OPEN @count_cursor
GO
3. Status über RETURN-Parameter zurückgeben
Dies ist eine Methode zum Zurückgeben eines Fehlercodes aus einer gespeicherten Prozedur. Gespeicherte Prozeduren geben immer einen Statuswert zurück, und Benutzer können auch die RETURN-Anweisung verwenden, um ihren eigenen Status zurückzugeben.
Zum Beispiel:
Pubs VERWENDEN
GO
PROZEDUR ERSTELLEN ap_SetReturnStatus
AS
@count integer DECLARE
SELECT @count = count(*) FROM Authors
WENN @ count = 0
RETURN(1)
ELSE
RETURN (0)
GO
Zum Beispiel den zurückgegebenen Status abrufen:
USE pubs
GO
CREATE PROCEDURE ap_GetReturnStatus
AS
DECLARE @status integer
EXECUTE @status = ap_SetReturnStatus
IF @status = 1
PRINT „Keine Zeilen gefunden“
ELSE
PRINT „erfolgreich“
GO

Fehlerbehandlung in gespeicherten Prozeduren
Wie bei anderen Programmen ist auch die Fehlerbehandlung in gespeicherten Prozeduren sehr wichtig. Die Systemänderung @@error erhält nach der Ausführung jeder Transact-SQL-Anweisung einen Wert. Für eine erfolgreiche Ausführung ist der Wert von @@error 0. Wenn ein Fehler auftritt, enthält @@error Fehlerinformationen. Die Systemvariable @@error ist für die Fehlerbehandlung gespeicherter Prozeduren sehr wichtig.
Hinweis: Um Fehler zu vermeiden, werden die Werte, die durch @@error gesetzt werden können, im „error“ der sysmessages-Tabelle widergespiegelt.
Es gibt zwei Arten von Fehlern in gespeicherten Prozeduren:
1. Datenbankbezogene Fehler
Diese Fehler werden durch Inkonsistenzen in der Datenbank verursacht. Das System verwendet einen @@error-Wert ungleich 0, um einen bestimmten Wert darzustellen Datenbank. Frage. Nachdem Transact SQL ausgeführt wurde, kann der aufgetretene Fehler über @@error abgerufen werden. Wenn festgestellt wird, dass @@error ungleich Null ist, müssen die erforderlichen Maßnahmen ergriffen werden. In den meisten Fällen kehrt der Speicher ohne weitere Verarbeitung zurück. Das folgende Beispiel zeigt eine typische Methode zum Abrufen von Datenbankfehlern. Bei diesem Verfahren wird der Fehlercode in eine Ausgabevariable geschrieben, sodass das aufrufende Programm darauf zugreifen kann.
Pubs VERWENDEN
LOS
VERFAHREN ERSTELLEN ap_TrapDatabaseError @return_code integer AUSGABE
AS
Autoren aktualisieren SET au_iname = „Jackson“
WHERE au_iname = „Smith“
IF @@error <> 0
BEGIN
​​​​SELECT @return_code = @@error
RETURN
END
ELSE
@return_code = 0
GO
2 Logikfehler
Diese Fehler werden durch Verstöße gegen Geschäftsregeln verursacht. Um diese Fehler zu erhalten, müssen Sie zunächst Geschäftsregeln definieren. Basierend auf diesen Regeln müssen Sie der gespeicherten Prozedur den erforderlichen Fehlererkennungscode hinzufügen. Um diese Fehler zu melden, wird häufig die RAISERROR-Anweisung verwendet. RAISERROR bietet die Möglichkeit, benutzerdefinierte Fehler zurückzugeben und die Variable @@error auf eine benutzerdefinierte Fehlernummer zu setzen. Fehlermeldungen können dynamisch erstellt oder anhand der Fehlernummer aus der Tabelle „sysmessages“ abgerufen werden. Sobald ein Fehler auftritt, wird der Fehler in Form einer Serverfehlermeldung an den Client zurückgegeben. Das Folgende ist die Syntax des RAISERROR-Befehls:
RAISERROR (msg_id | msg_str, Severity, State
[, Argument ][,…n]])
[WITH options]
Msg_id gibt die ID an der benutzerdefinierten Nachricht wird die Nachricht in der Systemtabelle „sysmessages“ gespeichert.
Msg_str ist die Nachrichtenzeichenfolge, die zum dynamischen Erstellen von Nachrichten verwendet wird. Dies ist „printf“ in der C-Sprache sehr ähnlich.
Schweregrad definiert den Schweregrad der vom Benutzer zugewiesenen Fehlermeldung.
Status ist ein beliebiger ganzzahliger Wert von 1 bis 127, der falsche Anrufstatusinformationen darstellt. Negative Statuswerte werden standardmäßig auf 1 gesetzt.
OPTIONS weist auf falsche Anpassungsoptionen hin. Die gültigen Werte von OPTIONS lauten wie folgt:
1) LOG.
Protokollieren Sie Fehler im Server-Fehlerprotokoll und im NT-Ereignisprotokoll. Für diese Option sind Nachrichten mit einem Schweregrad von 19 bis 25 erforderlich. Nur Systemadministratoren können solche Meldungen ausgeben.
2) JETZT WARTEN.
Nachricht sofort an den Client-Server senden.
3) SETERROR.
Setzen Sie den Wert von @@error unabhängig vom Schweregrad auf msg_id oder 5000.

Remote-Prozeduraufruf
SQL Server bietet die Möglichkeit, gespeicherte Prozeduren aufzurufen, die sich auf verschiedenen Servern befinden. Der Aufruf einer solchen gespeicherten Prozedur wird als Remote-Stored-Procedure-Aufruf bezeichnet. Damit Aufrufe von einem SQL-Server zu einem anderen weitergeleitet werden können, sollten beide Server als wirksame Remote-Server füreinander definiert werden.
Legen Sie die Konfiguration des Remote-Servers fest:
· Erweitern Sie die Gruppe eines bestimmten Servers.
· Klicken Sie mit der rechten Maustaste auf den Server und klicken Sie auf „Eigenschaften“.
· Setzen Sie die Option „Anderen SQL-Servern erlauben, über RPC eine Remoteverbindung zu diesem SQL-Server herzustellen“.
· Legen Sie den Wert der Option „Abfrage-Timeout“ fest, der die Anzahl der Sekunden angibt, die auf eine Rückkehr von einer Abfrageverarbeitung gewartet werden soll. Der Standardwert ist 0, was bedeutet, dass eine unbegrenzte Wartezeit zulässig ist.
· Klicken Sie nach dem Festlegen der Konfigurationsoptionen auf „OK“.
· Nach dem Neustart des Servers werden die Änderungen wirksam.
· Wiederholen Sie die gleichen Schritte auf dem anderen Remote-Server.
Um eine remote gespeicherte Prozedur aufzurufen, müssen Sie den Namen des Servers angeben, gefolgt vom Namen der Datenbank und dem Namen des Eigentümers. Unten finden Sie ein Beispiel für den Aufruf einer gespeicherten Prozedur auf einem anderen Server (Server2).
Exec server2.pubs.dbo.myproc

Doudous Bemerkungen:
Dies ist nur eine oberflächliche Einführung in das allgemeine Wissen von SQL Server. Es ist auch für Programmierer gedacht, die Anwendungen auf Basis von SQL Server schreiben Datenbanken, nicht der Datenbankmanager. Aber auch für Anwendungsprogrammierer ist das Verständnis der Datenbankverwaltung sehr nützlich. Es wird empfohlen, dass Sie sich in Zukunft selbst mit der Datenbankverwaltung vertraut machen, was auch für die Optimierung von Programmen sehr nützlich ist.

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

————————Volltext——————————


Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Apr 17, 2024 pm 02:57 PM

HQL und SQL werden im Hibernate-Framework verglichen: HQL (1. Objektorientierte Syntax, 2. Datenbankunabhängige Abfragen, 3. Typsicherheit), während SQL die Datenbank direkt betreibt (1. Datenbankunabhängige Standards, 2. Komplexe ausführbare Datei). Abfragen und Datenmanipulation).

Verwendung der Divisionsoperation in Oracle SQL Verwendung der Divisionsoperation in Oracle SQL Mar 10, 2024 pm 03:06 PM

„Verwendung der Divisionsoperation in OracleSQL“ In OracleSQL ist die Divisionsoperation eine der häufigsten mathematischen Operationen. Während der Datenabfrage und -verarbeitung können uns Divisionsoperationen dabei helfen, das Verhältnis zwischen Feldern zu berechnen oder die logische Beziehung zwischen bestimmten Werten abzuleiten. In diesem Artikel wird die Verwendung der Divisionsoperation in OracleSQL vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Zwei Arten von Divisionsoperationen in OracleSQL In OracleSQL können Divisionsoperationen auf zwei verschiedene Arten durchgeführt werden.

Was bedeutet das Identitätsattribut in SQL? Was bedeutet das Identitätsattribut in SQL? Feb 19, 2024 am 11:24 AM

Was ist Identität in SQL? In SQL ist Identität ein spezieller Datentyp, der zum Generieren automatisch inkrementierender Zahlen verwendet wird. Er wird häufig verwendet, um jede Datenzeile in einer Tabelle eindeutig zu identifizieren. Die Spalte „Identität“ wird oft in Verbindung mit der Primärschlüsselspalte verwendet, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat. In diesem Artikel wird die Verwendung von Identity detailliert beschrieben und es werden einige praktische Codebeispiele aufgeführt. Die grundlegende Möglichkeit, Identity zu verwenden, besteht darin, Identit beim Erstellen einer Tabelle zu verwenden.

Vergleich und Unterschiede der SQL-Syntax zwischen Oracle und DB2 Vergleich und Unterschiede der SQL-Syntax zwischen Oracle und DB2 Mar 11, 2024 pm 12:09 PM

Oracle und DB2 sind zwei häufig verwendete relationale Datenbankverwaltungssysteme, die jeweils über ihre eigene, einzigartige SQL-Syntax und -Eigenschaften verfügen. In diesem Artikel werden die SQL-Syntax von Oracle und DB2 verglichen und unterschieden und spezifische Codebeispiele bereitgestellt. Datenbankverbindung Verwenden Sie in Oracle die folgende Anweisung, um eine Verbindung zur Datenbank herzustellen: CONNECTusername/password@database. In DB2 lautet die Anweisung zum Herstellen einer Verbindung zur Datenbank wie folgt: CONNECTTOdataba

Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Feb 26, 2024 pm 07:48 PM

Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erläuterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr häufig bei Aktualisierungsvorgängen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erläutert und seine Funktionalität anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

Wie nutzt Java den MySQL-Treiber-Interceptor, um zeitaufwändige Berechnungen der SQL-Ausführung zu implementieren? Wie nutzt Java den MySQL-Treiber-Interceptor, um zeitaufwändige Berechnungen der SQL-Ausführung zu implementieren? May 27, 2023 pm 01:10 PM

Hintergrund: Eine der Anforderungen des Unternehmens besteht darin, dass die vorhandene Link-Tracking-Protokollkomponente das Drucken der SQL-Ausführungszeit von MySQL unterstützen muss. Die übliche Methode zur Implementierung der Link-Tracking besteht darin, die von einem Drittanbieter-Framework oder -Tool bereitgestellte Interceptor-Schnittstelle oder Filterschnittstelle zu implementieren. MySQL ist keine Ausnahme. Tatsächlich implementiert es lediglich die von MySQL gesteuerte Interceptor-Schnittstelle. Es gibt verschiedene Versionen von Kanälen, die speziell MySQL implementieren, und die Interceptor-Schnittstellen verschiedener Versionen sind unterschiedlich. Daher müssen Sie den Antwort-Interceptor entsprechend den verschiedenen Versionen des von Ihnen verwendeten MySQL-Treibers implementieren. Als Nächstes stellen wir MySQL-Kanäle 5 vor bzw. 8 Versionsimplementierung. MySQL5 wird hier unter Verwendung der MySQL-Kanalversion 5.1.18 als Beispiel für die Implementierung von Statem implementiert

So beheben Sie den 5120-Fehler in SQL So beheben Sie den 5120-Fehler in SQL Mar 06, 2024 pm 04:33 PM

Lösung: 1. Überprüfen Sie, ob der angemeldete Benutzer über ausreichende Berechtigungen zum Zugriff auf oder zum Betrieb der Datenbank verfügt, und stellen Sie sicher, dass der Benutzer über die richtigen Berechtigungen verfügt. 2. Überprüfen Sie, ob das Konto des SQL Server-Dienstes über die Berechtigung zum Zugriff auf die angegebene Datei verfügt Ordner und stellen Sie sicher, dass das Konto über ausreichende Berechtigungen zum Lesen und Schreiben der Datei oder des Ordners verfügt. 3. Überprüfen Sie, ob die angegebene Datenbankdatei von anderen Prozessen geöffnet oder gesperrt wurde. Versuchen Sie, die Datei zu schließen oder freizugeben, und führen Sie die Abfrage erneut aus . Versuchen Sie es als Administrator. Führen Sie Management Studio aus als usw.

Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Mar 06, 2024 am 10:37 AM

WindowsServerBackup ist eine Funktion des WindowsServer-Betriebssystems, die Benutzern dabei helfen soll, wichtige Daten und Systemkonfigurationen zu schützen und vollständige Sicherungs- und Wiederherstellungslösungen für kleine, mittlere und große Unternehmen bereitzustellen. Nur Benutzer, die Server2022 und höher ausführen, können diese Funktion nutzen. In diesem Artikel erklären wir, wie Sie WindowsServerBackup installieren, deinstallieren oder zurücksetzen. So setzen Sie die Windows Server-Sicherung zurück: Wenn Sie Probleme mit der Sicherung Ihres Servers haben, die Sicherung zu lange dauert oder Sie nicht auf gespeicherte Dateien zugreifen können, können Sie die Sicherungseinstellungen Ihres Windows Servers zurücksetzen. Um Windows zurückzusetzen

See all articles