Globale Variablen haben vom Datenbankserver gesetzte Werte. Die globale Variable @@version hat zum Beispiel einen Wert, der die aktuelle Versionsnummer des Datenbankservers beinhaltet.
Globale Variablen werden durch zwei ihrem Namen vorangestellte @-Zeichen von lokalen Variablen und Variablen auf Verbindungsebene unterschieden. @@error und @@rowcount z.B. sind globale Variablen. Benutzer können keine globalen Variablen erstellen und die Werte von globalen Variablen nicht direkt aktualisieren.
Einige globale Variablen, wie zum Beispiel @@identity, enthalten verbindungsspezifische Informationen und haben deshalb verbindungsspezifische Werte. Andere Variablen, wie zum Beispiel @@connections, haben Werte, die für alle Verbindungen gelten.
Die Spezialwerte (zum Beispiel CURRENT DATE, CURRENT TIME, USER und SQLSTATE) sind den globalen Variablen ähnlich.
Die folgende Anweisung ruft einen Wert der globalen Variablen "version" ab.
SELECT @@version; |
In Prozeduren und Triggern können globale Variablen in eine Variablenliste selektiert werden. Die folgende Prozedur gibt die Serverversionsnummer im Parameter ver zurück.
CREATE PROCEDURE VersionProc ( OUT ver VARCHAR(100) ) BEGIN SELECT @@version INTO ver; END; |
In Embedded SQL können globale Variablen in eine Hostvariablenliste selektiert werden.
Variablenname | Bedeutung |
---|---|
@@char_convert | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@client_csid | –1 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@client_csname | NULL (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@connections | Die Anzahl der Logins, seitdem der Server zuletzt gestartet wurde. |
@@cpu_busy | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@dbts | Ein Wert vom Typ TIMESTAMP, der den letzten generierten Wert darstellt, der bei allen mit DEFAULT TIMESTAMP definierten Spalten verwendet wurde |
@@error |
Ein Transact-SQL-Fehler, der den Erfolg oder Fehlschlag der zuletzt durchgeführten Anweisung prüft. Wenn die vorherige Anweisung erfolgreich war, wird 0 zurückgegeben. Wenn die vorherige Anweisung nicht erfolgreich war, wird die letzte Fehlernummer zurückgegeben, die das System erstellt hat. Weitere Hinweise und Beschreibungen der Werte, die von @@error zurückgegeben werden, finden Sie unter Fehlerbehandlung in Transact-SQL-Prozeduren. Eine Anweisung wie z.B. |
@@fetch_status |
Enthält Statusinformationen aus der letzten Abruf-Anweisung. Diese Funktion entspricht @@sqlstatus, außer dass sie unterschiedliche Werte zurückgibt. Sie dient der Kompatibilität mit Microsoft SQL Server. @@fetch_status kann die folgenden Werte enthalten:
|
@@identity | Der zuletzt in eine beliebige IDENTITY- oder DEFAULT AUTOINCREMENT-Spalte durch eine INSERT oder SELECT INTO-Anweisung eingefügte Wert. |
@@idle | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@io_busy | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@isolation | Die aktuelle Isolationsstufe der Verbindung. "@@isolation" nimmt den Wert der aktiven Stufe an. |
@@langid | Gibt eine eindeutige Sprach-ID für die in der aktuellen Verbindung verwendete Sprache zurück |
@@language | Name der von der Verbindung verwendeten Sprache |
@@max_connections | Für den Personal Server ist dies die maximale Anzahl von gleichzeitigen Verbindungen, die mit dem Server hergestellt werden können. Der Wert beträgt 10. Für den Netzwerkserver ist dies die maximale Anzahl aktiver Clients (und nicht Datenbankverbindungen, da jeder Client mehrere Verbindungen unterstützen kann). |
@@maxcharlen | Maximale Länge eines Zeichens im CHAR-Zeichensatz, in Byte. |
@@ncharsize | Maximale Länge eines Zeichens im NCHAR-Zeichensatz, in Byte. |
@@nestlevel | –1 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@pack_received | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@pack_sent | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@packet_errors | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@procid | Die Kennung der gerade ausgeführten gespeicherten Prozedur. |
@@rowcount |
Die Anzahl der von der letzten Anweisung betroffenen Zeilen. Der Wert von "@@rowcount" sollte unmittelbar nach jeder Anweisung überprüft werden. Die INSERT-, UPDATE- und DELETE-Anweisungen setzen "@@rowcount" auf die Anzahl der betroffenen Zeilen. Bei Cursor repräsentiert "@@rowcount" die Gesamtanzahl der von der Cursorergebnismenge an den Client zurückgegebenen Zeilen bis zur letzten Abrufanforderung. "@@rowcount" wird nicht von Anweisungen auf "0" zurückgesetzt, die sich nicht auf Zeilen beziehen, wie z.B. eine IF-Anweisung. |
@@servername | Der Name des aktuellen Datenbankservers |
@@spid | Der Verbindungs-Handle der wartenden Verbindung. Dies ist derselbe Wert, der auch von der Prozedur "sa_conn_info" angezeigt wird. |
@@sqlstatus |
Enthält Statusinformationen aus der letzten Abruf-Anweisung. @@sqlstatus kann die folgenden Werte enthalten:
|
@@textsize | Der aktuelle Wert der SET TEXTSIZE-Option, der die maximale Länge von Text- oder Bilddaten in Byte angibt, die mit einer SELECT-Anweisung zurückgegeben werden. Die Standardeinstellung ist 32765, die längste Byte-Zeichenfolge, die mithilfe von READTEXT zurückgegeben werden kann. Der Wert kann mithilfe der SET-Anweisung gesetzt werden. |
@@thresh_hysteresis | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@timeticks | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@total_errors | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@total_read | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@total_write | 0 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@tranchained | Aktueller Transaktionsmodus: 0 für unverkettet oder 1 für verkettet. |
@@trancount | Die Verschachtelungsebene der Transaktionen. Jedes BEGIN TRANSACTION in einem Batch zählt die Transaktionsanzahl hoch. |
@@transtate | –1 (aus Gründen der Kompatibilität mit Transact-SQL bereitgestellt) |
@@version | Die Versionsnummer der aktuellen Version von Adaptive Server Anywhere |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |