Transact-SQL, oft als T-SQL oder TSQL abgekürzt, ist eine proprietäre SQL-Erweiterung von Microsoft und Sybase. Transact-SQL erweitert den SQL-Standard um zusätzliche Funktionen, die nicht im SQL-Standard enthalten sind.
Das Folgende ist ein Beispiel für eine einfache T-SQL-Anweisung:
CREATE DATABASE Movies;
Dies ist eine einfache T- SQL-Beispiel. Dadurch wird eine neue Datenbank mit dem Namen „Filme“ erstellt.
T-SQL bietet jedoch zusätzliche Optionen zur Aufnahme in diese Anweisung, z. B. wo sich die Datenbankdateien befinden sollen, welche Größe diese Dateien haben sollten, wie hoch ihre maximale Größe sein sollte usw.
Einige Funktionen von T-SQL umfassen:
1. Lokale Variablen
3 Verarbeitung, Datenverarbeitung, Mathematik und andere Funktionen
4. Änderungen an DELETE- und UPDATE-Anweisungen. Insbesondere ermöglichen sie das Hinzufügen einer FROM-Klausel, die die Einbindung von Joins ermöglicht.
5. T-SQL verfügt über eine BULK INSERT-Anweisung, mit der Sie Datendateien in Datenbanktabellen oder -ansichten in einem benutzerdefinierten Format importieren können.
Einer der Hauptvorteile der oben genannten Erweiterungen besteht darin, dass Sie mehr Programmierbarkeit bei der Arbeit mit T-SQL und SQL haben. Mit gespeicherten Prozeduren können Sie beispielsweise Programmierlogik in die Datenbank integrieren. Sie können einer gespeicherten Prozedur einen oder mehrere Parameter übergeben, und die gespeicherte Prozedur gibt eine Ausgabe zurück, die sich basierend auf dem Wert der Parameter ändert.
T-SQL enthält außerdem eine große Anzahl integrierter Funktionen sowie Unterstützung für benutzerdefinierte Funktionen.
Ein Beispiel für eine integrierte FunktionHier ist ein weiteres einfaches Beispiel, dieses Mal unter Verwendung einer der integrierten Funktionen von T-SQL:
SELECT GETDATE();
Ausgabe:
2018-05-06 23:30:37.003
Wir können diese Funktion auch als Parameter einer anderen Funktion verwenden. Hier ist ein Beispiel:
SELECT FORMAT(GETDATE(), 'MMM');
Ergebnis:
May
Während Transact-SQL (und SQL Server) es ist vor allem als Microsoft bekannt, aber in Wirklichkeit ist es das Ergebnis einer Zusammenarbeit zwischen Microsoft und Sybase, die 1987 begann. Diese Partnerschaft wurde 1994 aufgelöst.
Seitdem wird T-SQL weiterhin durch Datenbankprodukte beider Unternehmen unterstützt, jedoch hat jedes Unternehmen seine eigenen Datenbankprodukte in seine eigene Richtung entwickelt. Daher gibt es einige Unterschiede zwischen Sybase T-SQL und Microsoft T-SQL.
T-SQL- und GUI-ToolsTransact-SQL ist der Kern von SQL Server. Die meisten Vorgänge in SQL Server werden mit T-SQL ausgeführt. Dies gilt auch dann, wenn Sie ein GUI-Tool wie SSMS oder DBeaver verwenden, ohne tatsächlich zu programmieren. Immer wenn Sie eine Anwendung zur Interaktion mit SQL Server verwenden, verwendet die Anwendung T-SQL im Hintergrund, um bestimmte Aufgaben auszuführen.
Aber SQL Server ist nicht das einzige Datenbankverwaltungssystem, das Transact-SQL unterstützt. Die Microsoft Azure SQL-Datenbank unterstützt auch T-SQL. Die meisten von Anwendungen verwendeten T-SQL-Funktionen werden in Microsoft SQL Server und Azure SQL-Datenbank vollständig unterstützt (obwohl es einige Ausnahmen gibt).
Über den GO-BefehlJeder, der T-SQL verwendet hat, ist möglicherweise mit dem GO-Befehl vertraut. Dieses Schlüsselwort wird normalerweise am Ende einer Reihe von Anweisungen platziert. Das erste Beispiel oben könnte beispielsweise auch so geschrieben werden:
CREATE DATABASE Movies;
GO
Allerdings ist der GO-Befehl eigentlich nicht Teil von Transact-SQL . Tatsächlich kann der GO-Befehl nicht einmal dieselbe Zeile einer Transact-SQL-Anweisung belegen.
GO ist einer der Befehle, die von den Dienstprogrammen sqlcmd und osql sowie dem Code-Editor von SQL Server Management Studio erkannt werden und die Lesbarkeit und Ausführung von Batches und Skripts erleichtern. Der GO-Befehl signalisiert einem SQL Server-Dienstprogramm das Ende eines Stapels von Transact-SQL-Anweisungen.
SQL Server-Dienstprogramme interpretieren GO als Signal, dass sie den aktuellen Stapel von Transact-SQL-Anweisungen an eine Instanz von SQL Server senden sollen. Der aktuelle Befehlsstapel besteht aus allen Anweisungen, die seit der letzten Ausführung des Vorgangs eingegeben wurden, oder, wenn dies das erste Mal ist, dass der Vorgang ausgeführt wurde, seit Beginn der Ausführung einer bestimmten Sitzung oder eines bestimmten Skripts.
Andere proprietäre SQL-ErweiterungenTransact-SQL ist nicht die einzige Erweiterung des SQL-Standards. Verschiedene Datenbanksysteme verfügen über eigene Erweiterungen. Beispielsweise verwendet Oracle eine proprietäre prozedurale Sprache PL/SQL und PostgreSQL eine prozedurale Sprache PL/pgSQL.
Obwohl proprietäre SQL-Erweiterungen ihre Vorteile haben (z. B. erweiterte Funktionalität), haben sie auch Nachteile. Ein großer Nachteil besteht darin, dass sie die Arbeit erschweren können, wenn Sie eine Datenbank von einem System auf ein anderes portieren müssen. Wenn sich Ihr Unternehmen beispielsweise plötzlich dazu entschließt, Oracle anstelle von SQL Server zu verwenden, müssen Sie möglicherweise Ihren gesamten SQL Server-Code durchgehen und ihn für Oracle neu schreiben. Dazu gehört auch, dass Sie mit der Syntax beider Systeme vertraut sind.
Verwandte Empfehlungen: „
MySQL-TutorialDas obige ist der detaillierte Inhalt vonWas ist T-SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!