Zum Inhalt springen

„Transact-SQL“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Bindestriche usw.
Zeile 15: Zeile 15:


'''Transact-SQL''' ('''T-SQL''') ist eine [[proprietär]]e Erweiterung des [[SQL]]-Standards von [[Sybase]] und [[Microsoft]].
'''Transact-SQL''' ('''T-SQL''') ist eine [[proprietär]]e Erweiterung des [[SQL]]-Standards von [[Sybase]] und [[Microsoft]].
T-SQL erweitert den SQL-Standard um Funktionen wie [[Prozedurale Programmierung]], lokale [[Variable (Programmierung)|Variablen]], Fehlerbehandlung, Funktionen zur Zeichenketten (STRING) Verarbeitung, Datumsverarbeitung und
T-SQL erweitert den SQL-Standard um Funktionen wie [[Prozedurale Programmierung]], lokale [[Variable (Programmierung)|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.
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 Server]]. Bei Anwendungen erfolgt die Kommunikation mit der Instanz des SQL-Servers über Transact-SQL Anweisungen, dabei spielt die Benutzeroberfläche der Anwendung keine Rolle.
Transact-SQL ist wesentlicher Bestandteil des [[Microsoft SQL Server]]s. 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 ==
== Verwendung ==
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.
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.
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.
Über das Rechtemanagement der Datenbank kann der Zugriff auf Transact-SQL-Prozeduren gesteuert werden.


== Variablen ==
== Variablen ==
Um lokale Variablen zu verwenden bietet Transact-SQL die Befehle: <code>DECLARE</code>, <code>SET</code> und <code>SELECT</code>
Um lokale Variablen zu verwenden bietet Transact-SQL die Befehle <code>DECLARE</code>, <code>SET</code> und <code>SELECT</code>.
<syntaxhighlight lang="tsql">
<syntaxhighlight lang="tsql">
DECLARE @varName NVARCHAR(30)
DECLARE @varName NVARCHAR(30)
Zeile 36: Zeile 35:


== Fehlerbehandlung ==
== Fehlerbehandlung ==
Mit dem SQL Server 2005 wurde die <code>TRY CATCH</code> Logik eingeführt um die Behandlung einer [[Exception]] (Ausnahme) zu unterstützen.
Mit dem SQL Server 2005 wurde die <code>TRY CATCH</code>-Logik eingeführt um die Behandlung einer [[Exception]] (Ausnahme) zu unterstützen.
Hierdurch können Entwickler ihren SQL-Code vereinfachen, da <code>@@ERROR</code> Prüfungen, die Prüfung ob eine Anweisung ohne Fehler durchgeführt wurde, nun nicht mehr nach jeder Anweisung durchgeführt werden müssen.
Hierdurch können Entwickler ihren SQL-Code vereinfachen, da <code>@@ERROR</code>-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">
<syntaxhighlight lang="tsql">
-- beginn einer Transaktion
-- beginn einer Transaktion
Zeile 51: Zeile 50:
END TRY
END TRY
BEGIN CATCH
BEGIN CATCH
-- Dieser Codeblock wird ausgeführt sollte eine der Anweisungen fehlerhaft sein.
-- Dieser Codeblock wird ausgeführt, sollte eine der Anweisungen fehlerhaft sein.
-- Rollback der Transaktion
-- Rollback der Transaktion
ROLLBACK TRAN
ROLLBACK TRAN

Version vom 24. Februar 2017, 13:36 Uhr

Transact-SQL
Basisdaten
Paradigmen: prozedural
Entwickler: Microsoft
Aktuelle Version: SQL Server 2014  (1. April 2014)
Typisierung: stark, statisch, explizit
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

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

Um lokale Variablen zu verwenden bietet Transact-SQL die Befehle DECLARE, SET und SELECT.

DECLARE @varName NVARCHAR(30)
SET @varName = 'Max Mustermann'
SELECT @varName = Name
FROM Kunde
WHERE KundeID = 1000

Fehlerbehandlung

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.

-- 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

Siehe auch