Was ist die Verwendung von @@
in SQL Server?Was ist die Verwendung von '@@' in SQL Server
Antwort
According to MSDN, der richtige Name für diese ist system functions
.
Die Benennungsverwechslung (globale Variable, Systemfunktion, globale Funktion) stammt aus unterschiedlichen Terminologien, die in der gesamten SQL Server-Historie verwendet wurden. Vom MSDN Transact-SQL Variables article:
Die Namen einiger Transact-SQL-Systemfunktionen beginnen mit zwei an Zeichen (@@). Obwohl in früheren Versionen von Microsoft SQL Server die Funktionen @@ als globale Variablen bezeichnet werden, sind sie keine Variablen und haben nicht das gleiche Verhalten wie Variablen. Die @@ Funktionen sind Systemfunktionen und ihre Syntaxnutzung folgt den Regeln für Funktionen.
Somit werden zwei at-Symbole (@@) verwendet, um einige Systemfunktionen zu bezeichnen. Die Verwendung der Phrase "globale Variable" war veraltet (obwohl Sie immer noch sehen some people use it), höchstwahrscheinlich, weil in der Programmierwelt eine globale Variable ist ein einzelner Wert, der überall sichtbar ist, und wie bereits darauf hingewiesen, dass nicht was ist passiert hier (z. B. @@IDENTITY
).
Weitere Verwirrung wird wahrscheinlich durch die Art, wie temporäre Tabellen benannt werden, verursacht. Ein einzelnes Hash-Zeichen, das einem Tabellennamen vorangestellt ist, zeigt eine lokal begrenzte temporäre Tabelle an (z. B. #MyLocalTable
), ähnlich wie ein einzelnes Symbol eine lokal begrenzte Variable anzeigt (z. B.). Das Hinzufügen eines zweiten Hashzeichens zu einer temporären Tabelle macht es global (z. B. ##MyGlobalTable
), aber versucht, zwei Variablen zu einer Variablen does not produce the same effect hinzuzufügen.
@@
wird als Präfix für interne Statistik- und Metadatenfunktionen verwendet, die Informationen zur Konfiguration des SQL Servers zurückgeben und nicht für eine bestimmte Datenbank spezifisch sind.
Zum Beispiel sind dies die Anzahl der Verbindungen zu der Datenbank (@@CONNECTIONS
) gemacht und den ersten Tag der Woche (@@DATEFIRST
)
@
für eine lokale ist Variable
@@
ist für eine globale Variable oder Funktion.
Es gibt mehrere Standard globale Variablen oder Funktionen, z.B .: @@IDENTITY
, @@ROWCOUNT
, @@TRANCOUNT
Also hast du eine Quelle dafür? Weil Sie vorschlagen, dass "@@ IDENTITY" global ist, was bedeutet, dass alle Benutzer den gleichen Wert sehen. Also, wenn ich eine 'INSERT' und dann 'SELECT @@ IDENTITY' mache, könnte ich die Identität einer Einfügung von einem völlig anderen Benutzer erhalten? – funkwurm
@funkwurm, weshalb Sie scope_identity https://msdn.microsoft.com/en-us/library/ms190315.aspx obwohl beide durch Sitzung begrenzt, aber immer noch es ist eine Art von globalen – pinkfloydx33
- 1. Was ist die Verwendung von "&" Operator in SQL SERVER
- 2. Was ist die genaue Verwendung des Cursors in SQL-Server
- 3. Was ist die Verwendung von '\' und '$' in T-SQL?
- 4. Was ist die interne Darstellung von Datetime in SQL Server?
- 5. Was ist die Verwendung von "??"
- 6. Was ist die Verwendung von SQL Server Analysis Services in SQLSERVER2005
- 7. Was ist die Verwendung von $ # in Bash
- 8. Was ist die SQL Server-Entsprechung von INET_ATON
- 9. Verwendung von SQL Server-Sperrlisten
- 10. Was ist syncobj in SQL Server
- 11. Was ist die Verwendung von Operatoren und Warnungen im SQL Server Management Studio?
- 12. die Verwendung in SQL Server Ansicht Deklarieren
- 13. Was ist PAGEIOLATCH_SH Wartestatus in SQL Server?
- 14. Was ist die Verwendung der eckigen Klammern [] in SQL-Anweisungen?
- 15. Verwendung von xp_cmdshell in SQL Server
- 16. Was ist Service Broker in SQL Server?
- 17. Was ist DTS/SSIS in SQL Server?
- 18. Was sind die Szenarien für die Verwendung von Spiegelung, Protokollversand, Replikation und Clustering in SQL Server
- 19. Verwendung von contains() in SQL Server
- 20. Was ist die LDF-Datei in SQL Server?
- 21. Was ist die korrekte Verwendung von ConcurrentBag?
- 22. Was ist die Verwendung von Schatten
- 23. Was ist die Verwendung von Parbase-Komponente:
- 24. Was ist die Verwendung von 9Patch PNG?
- 25. Was ist die Verwendung von System.in.read()?
- 26. Was ist die Verwendung von Javascript scrollTimeout?
- 27. Was ist die Verwendung von while (1)?
- 28. Was ist die Verwendung von Keyword final?
- 29. Was ist die Verwendung von mehreren Hauptmethoden?
- 30. Was ist die ordnungsgemäße Verwendung von EnsureChildControls()?
@cch: das ist Oracle. –