Database
 sql >> Baza danych >  >> RDS >> Database

Co to jest T-SQL?

Transact-SQL, często skracany do T-SQL lub nawet TSQL, jest zastrzeżonym rozszerzeniem SQL firmy Microsoft i Sybase. Transact-SQL rozszerza standard SQL o dodatkowe funkcje, które nie są zawarte w standardzie SQL.

Oto przykład prostej instrukcji T-SQL:

CREATE DATABASE Movies;

Jest to tak proste, jak mógłby być przykład T-SQL. Spowoduje to utworzenie nowej bazy danych o nazwie Movies .

Jednak T-SQL zapewnia inne opcje, które należy uwzględnić w tej instrukcji, takie jak lokalizacja plików bazy danych, rozmiar tych plików, jaki powinien być ich maksymalny rozmiar i inne.

Funkcje T-SQL

Niektóre funkcje T-SQL obejmują:

  • Programowanie proceduralne
  • Zmienne lokalne
  • Różne funkcje pomocnicze do przetwarzania ciągów, przetwarzania dat, matematyki itp.
  • Zmiany w DELETE i UPDATE sprawozdania. W szczególności pozwalają na dodanie klauzuli FROM, która umożliwia dołączanie złączeń.
  • T-SQL ma BULK INSERT instrukcja, która pozwala zaimportować plik danych do tabeli bazy danych lub wyświetlić w formacie określonym przez użytkownika.

Jedną z głównych zalet powyższych rozszerzeń jest znacznie większa programowalność podczas korzystania z T-SQL w porównaniu z SQL. Procedury składowane umożliwiają na przykład włączenie logiki programowania do bazy danych. Możesz przekazać jeden lub więcej parametrów do procedury składowanej, a procedura składowana zwróci dane wyjściowe, które różnią się w zależności od wartości parametrów.

T-SQL zawiera również dużą liczbę wbudowanych funkcji, a także obsługuje funkcje zdefiniowane przez użytkownika.

Przykład wbudowanej funkcji

Oto kolejny podstawowy przykład , tym razem wykorzystujący jedną z wbudowanych funkcji T-SQL:

SELECT GETDATE();

Wynik:

2018-05-06 23:30:37.003

W tym przypadku używamy funkcji GETDATE() T-SQL'a funkcja zwracająca aktualną datę i godzinę. Jest używany razem z SELECT instrukcja, która jest powszechną instrukcją SQL do zwracania danych.

Możemy również użyć tej funkcji jako argumentu dla innej funkcji. Oto przykład:

SELECT FORMAT(GETDATE(), 'MMM');

Wynik:

May

W tym przypadku używamy T-SQL FORMAT() funkcja wyodrębniania tylko części daty dotyczącej miesiąca i prezentowania jej w określonym formacie. Możesz zobaczyć więcej przykładów daty/godziny w Jak formatować datę i godzinę w SQL Server.

Historia T-SQL

Chociaż Transact-SQL (i SQL Server) jest powszechnie znany jako produkt Microsoftu, w rzeczywistości jest to wynik partnerstwa między Microsoft i Sybase, które rozpoczęło się w 1987 roku. To partnerstwo zostało rozwiązane w 1994 roku.

Następnie T-SQL był nadal wspierany przez produkty bazodanowe wydane przez obie firmy, jednak każda firma rozwijała swoje produkty bazodanowe we własnym kierunku. Dlatego istnieją pewne różnice między Sybase T-SQL i Microsoft T-SQL.

Narzędzia T-SQL i GUI

Transact-SQL ma kluczowe znaczenie dla SQL Server. Większość operacji w SQL Server jest wykonywana przy użyciu T-SQL. Dzieje się tak, nawet jeśli używasz narzędzia GUI (takiego jak SSMS lub DBeaver) i nie robisz żadnego programowania. Za każdym razem, gdy używasz aplikacji do interakcji z SQL Server, aplikacja używa T-SQL w tle do wykonania określonego zadania.

Ale SQL Server nie jest jedynym systemem zarządzania bazami danych, który obsługuje Transact-SQL. Baza danych Microsoft Azure SQL obsługuje również T-SQL. Większość funkcji T-SQL używanych przez aplikacje jest w pełni obsługiwana zarówno w Microsoft SQL Server, jak i Azure SQL Database (chociaż istnieją pewne wyjątki).

Informacje o poleceniu GO

Każdy, kto używał T-SQL, prawdopodobnie zna GO Komenda. To słowo kluczowe jest często umieszczane na końcu serii instrukcji. Na przykład pierwszy przykład powyżej może być napisany tak:

CREATE DATABASE Movies;
GO

Jednak GO polecenie nie jest w rzeczywistości częścią Transact-SQL. W rzeczywistości GO polecenie nie może nawet zajmować tego samego wiersza co instrukcja Transact-SQL.

GO to jedno z poleceń rozpoznawanych przez sqlcmd i osql narzędzia, a także edytor kodu SQL Server Management Studio, który ułatwia czytelność i wykonywanie wsadów i skryptów. GO polecenie sygnalizuje koniec partii instrukcji Transact-SQL do narzędzi SQL Server.

Narzędzia SQL Server interpretują GO jako sygnał, że powinni wysłać bieżącą partię instrukcji Transact-SQL do wystąpienia programu SQL Server. Bieżąca partia wyciągów składa się ze wszystkich wyciągów wprowadzonych od ostatniego GO , lub od początku sesji ad hoc lub skryptu, jeśli jest to pierwszy GO .

Inne zastrzeżone rozszerzenia SQL

Transact-SQL nie jest jedynym rozszerzeniem standardu SQL. Różne systemy baz danych mają swoje własne rozszerzenia. Na przykład Oracle używa zastrzeżonego języka proceduralnego o nazwie PL/SQL, a PostgreSQL używa języka proceduralnego o nazwie PL/pgSQL.

Chociaż zastrzeżone rozszerzenia SQL mają swoje zalety (takie jak rozszerzona funkcjonalność), mają też swoje wady. Jedną z głównych wad jest to, że mogą utrudnić sprawę, jeśli kiedykolwiek będziesz musiał przenieść bazę danych z jednego systemu do drugiego. Na przykład, jeśli Twoja organizacja nagle zdecyduje, że będzie używać Oracle zamiast SQL Server, może być konieczne przejrzenie całego kodu SQL Server i przepisanie go dla Oracle. Wymaga to również zaznajomienia się ze składnią obu systemów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obliczanie mediany za pomocą dynamicznego kursora

  2. Wewnętrzne złącze SQL

  3. Zaawansowany SQL:CROSS APPLY i OUTER APPLY

  4. Model danych ubezpieczenia na życie

  5. Testowanie instrukcji DML dla OLTP w pamięci