T-SQL

T-SQL

Transact-SQL (T-SQL) — расширение языка Microsoft (для Microsoft SQL Server) и

Для того, чтобы сделать язык мощнее, SQL был расширен такими дополнительными возможностями как:

Содержание

Управляющие операторы

Для управления потоком исполнения в Transact-SQL используются следующие операторы: BEGIN и END, BREAK, CONTINUE, GOTO, IF и ELSE, RETURN, WAITFOR и WHILE.

Переменные

Локальные переменные

Для объявления локальной переменной заданного типа используется ключевое слово DECLARE. При объявлении все переменные инициализируются значением NULL. Чтобы присвоить переменной значение, нужно использовать ключевое слово SET.

Следующий скрипт объявляет переменную целого типа, задаёт ей значение и выполняет цикл используя её в качестве счётчика.

DECLARE @Counter INT
SET @Counter = 10
WHILE @Counter > 0
BEGIN
   PRINT 'The count is ' + CONVERT(VARCHAR(10), @Counter)
   SET @Counter = @Counter - 1
END

Также переменная может быть инициализирована результатом запроса:

DECLARE @UserName NVARCHAR(100)
SELECT @UserName = UserName FROM Users

После исполнения данного скрипта значение переменной @UserName равно значению соответствующего поля последней выбранной записи. При этом, если запрос не вернёт ни одной записи, значение переменной, в отличие от оператора SET, не изменится.

Глобальные переменные

SQL Server имеет ряд предопределённых глобальных переменных (global variables), которые предназначены для получения информации о состоянии сервера, базы данных или текущего подключения. В отличие от локальных переменных их значение нельзя менять. Название глобальных переменных начинается с двух символов "@".

Примеры глобальных переменных:

  • @@ERROR - возвращает номер ошибки последней выполненной команды
  • @@ROWCOUNT - возвращает количество строк обработанное последней командой (SELECT, INSERT, DELETE, UPDATE)
  • @@SERVERNAME - название сервера
  • @@VERSION - версия SQL Server

Табличные переменные

Табличные переменные (англ. table variables) появились в 2000-й версии SQL Server. Предназначены для временного хранения наборов данных для последующей обработки. К табличным переменным можно применять стандартные команды

Например

DECLARE @UserNames TABLE
(
  LastName  VARCHAR(50) NOT NULL,
  FirstName VARCHAR(50) NOT NULL,
  BirthDay  DATETIME
)
 
INSERT INTO @UserNames (LastName, FirstName, BirthDay)
VALUES ('Иванов', 'Иван', '1977-04-27')
 
INSERT INTO @UserNames (LastName, FirstName)
VALUES ('Петрович', 'Пётр')

этот фрагмент кода объявляет табличную переменную @UserNames и вставляет в неё две записи.


Литература

  • Майк Гандерлой, Джозеф Джорден, Дейвид Чанц Часть II. Язык программирования Transact-SQL // Освоение Microsoft SQL Server 2005 = Mastering Microsoft SQL Server 2005. — М.: «Диалектика», 2007. — С. 139-280. — ISBN 0-7821-4380-6

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "T-SQL" в других словарях:

  • SQL — ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von fast allen gängigen Datenbanksystemen unterstützt. Die Bezeichnung SQL (offizielle… …   Deutsch Wikipedia

  • SQL-92 — SQL (das Kürzel für Structured Query Language; offizielle Aussprache [ɛskjuːˈɛl], häufig auch [ˈsiːkwəl] →SEQUEL), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO… …   Deutsch Wikipedia

  • SQL-99 — SQL (das Kürzel für Structured Query Language; offizielle Aussprache [ɛskjuːˈɛl], häufig auch [ˈsiːkwəl] →SEQUEL), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO… …   Deutsch Wikipedia

  • SQL — Класс языка: Мультипарадигмальный Появился в: 1974 Автор(ы): Дональд Чэмбэрлин Рэймонд Бойс Релиз: SQL:2008 (2008) Типизация данных …   Википедия

  • SQL — Desarrollador(es) IBM ISO/IEC 9075 1:2008 Información general Paradigma Multiparadigma …   Wikipedia Español

  • SQL-Injection — (dt. SQL Einschleusung) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL Datenbanken, die durch mangelnde Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht. Der Angreifer versucht dabei, über die… …   Deutsch Wikipedia

  • SQL Server Compact — Filename extension .sdf Developed by Microsoft Type of format Relational database Microsoft SQL Server Compact (SQL CE) is a compact relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the… …   Wikipedia

  • SQL-Injektion — SQL Injection (dt. SQL Einschleusung) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL Datenbanken, die durch mangelnde Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht. Der Angreifer versucht dabei …   Deutsch Wikipedia

  • SQL Injection — (dt. SQL Einschleusung) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL Datenbanken, die durch mangelnde Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht. Der Angreifer versucht dabei, über die… …   Deutsch Wikipedia

  • SQL Injektion — SQL Injection (dt. SQL Einschleusung) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL Datenbanken, die durch mangelnde Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht. Der Angreifer versucht dabei …   Deutsch Wikipedia

  • SQL-92 — SQL 92  третья версия языка запросов к базам данных SQL. В отличие от стандарта SQL 89, третья версия стала весьма существенным обновлением языка. За исключением некоторых мелких противоречий стандарт SQL 89 практически полностью совместим… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»