Zum Inhalt springen

Transact-SQL

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von TSQL)
Transact-SQL
[[Datei:Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.|150px]]
Basisdaten
Paradigmen: prozedural
Erscheinungsjahr: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Designer: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Entwickler: Microsoft
Aktuelle Version: SQL Server 2025  (18. November 2025)
Typisierung: stark, statisch, explizit
Beeinflusst von: Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Betriebssystem: plattformunabhängig
Lizenz: proprietär
Microsoft Developer Network

Transact-SQL (T-SQL) ist eine proprietäre Erweiterung des SQL-Standards von Sybase und Microsoft. T-SQL erweitert den SQL-Standard um Funktionen wie Prozedurale Programmierung, lokale Variablen, Fehlerbehandlung, Funktionen zur Zeichenketten- (STRING) Verarbeitung, Datumsverarbeitung und mathematische Operationen. Zusätzlich wurden Änderungen an der Funktionalität von DELETE- und UPDATE-Statements im Vergleich zu SQL durchgeführt.

Transact-SQL ist wesentlicher Bestandteil des Microsoft SQL Servers. Bei Anwendungen erfolgt die Kommunikation mit der Instanz des SQL-Servers über Transact-SQL-Anweisungen, dabei spielt die Benutzeroberfläche der Anwendung keine Rolle.

Verwendung[Bearbeiten]

Durch den erweiterten Funktionsumfang von T-SQL können komplexere Abfragen erstellt werden, außerdem werden administrative Tätigkeiten innerhalb des SQL-Servers mit T-SQL-Anweisungen durchgeführt. Wiederkehrende Aufgaben oder häufig verwendete Anweisungen, welche sonst vom Client ausgeführt werden, können als Stored Procedures auf dem Datenbankserver gespeichert werden, jeder Benutzer der Datenbank kann diese Programme aufrufen und nutzen. Über das Rechtemanagement der Datenbank kann der Zugriff auf Transact-SQL-Prozeduren gesteuert werden.

Variablen[Bearbeiten]

Um lokale Variablen zu verwenden, bietet Transact-SQL die Befehle DECLARE, SET und SELECT. <syntaxhighlight lang="tsql"> DECLARE @varName NVARCHAR(30) SET @varName = 'Max Mustermann' SELECT @varName = Name FROM Kunde WHERE KundeID = 1000 </syntaxhighlight>

Fehlerbehandlung[Bearbeiten]

Mit dem SQL Server 2005 wurde die TRY CATCH-Logik eingeführt um die Behandlung einer Exception (Ausnahme) zu unterstützen. Hierdurch können Entwickler ihren SQL-Code vereinfachen, da @@ERROR-Prüfungen – die Prüfung, ob eine Anweisung ohne Fehler durchgeführt wurde – nun nicht mehr nach jeder Anweisung durchgeführt werden müssen. <syntaxhighlight lang="tsql"> -- beginn einer Transaktion BEGIN TRAN

BEGIN TRY

  -- Ausführung der Anweisungen
  INSERT INTO KUNDE(NAME) VALUES ('ASDF')
  INSERT INTO KUNDE(NAME) VALUES (1234)
  -- Commit der Transaktion
  COMMIT TRAN

END TRY BEGIN CATCH

  -- Dieser Codeblock wird ausgeführt, sollte eine der Anweisungen fehlerhaft sein.
  -- Rollback der Transaktion
  ROLLBACK TRAN

END CATCH </syntaxhighlight>

Standards[Bearbeiten]

T-SQL implementiert den SQL-Standard

  • SQL XQuery Standard<ref>MarshikaSzabo: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
  • ISO/IEC 9075-2 Standard<ref>MarshikaSzabo: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
  • ISO/IEC 9075-3 Standard<ref>MarshikaSzabo: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
  • ISO/IEC 9075-11 Standard<ref>MarshikaSzabo: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
  • ISO/IEC 9075-14 Standard<ref>MarshikaSzabo: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />