Что такое transact sql

Transact-SQL

Transact-SQL (T-SQL) — процедурное расширение языка SQL, созданное компанией Microsoft (для Microsoft SQL Server) и Sybase (для Sybase ASE).

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

  • управляющие операторы,
  • локальные и глобальные переменные,
  • различные дополнительные функции для обработки строк, дат, математики и т. п.,
  • поддержка аутентификации Microsoft Windows.

Язык Transact-SQL является ключом к использованию MS SQL Server. Все приложения, взаимодействующие с экземпляром MS SQL Server, независимо от их реализации и пользовательского интерфейса, отправляют серверу инструкции Transact-SQL.

Transact-SQL

Transact-SQL (T-SQL) — процедурное расширение языка SQL компанией Microsoft (для Microsoft SQL Server) и Sybase (для Sybase ASE).

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

  • управляющие операторы,
  • локальные и глобальные переменные,
  • различные дополнительные функции для обработки строк, дат, математики и т. п.,
  • поддержка аутентификации Microsoft Windows

Язык Transact-SQL является ключом к использованию MS SQL Server. Все приложения, взаимодействующие с экземпляром MS SQL Server, независимо от их реализации и пользовательского интерфейса, отправляют серверу инструкции Transact-SQL.

Содержание

Элементы синтаксиса

Директивы сценария

Директивы сценария — это специфические команды, которые используются только в MS SQL. Эти команды помогают серверу определять правила работы со скриптом и транзакциями. Типичные представители: GO — информирует программы SQL Server об окончании пакета инструкций Transact-SQL, EXEC (или EXECUTE) — выполняет процедуру или скалярную функцию.

Комментарии

Комментарии используются для создания пояснений для блоков сценариев, а также для временного отключения команд при отладке скрипта. Комментарии бывают как строковыми, так и блоковыми:

— — строковый комментарий исключает из выполнения только одну строку, перед которой стоят два минуса.

/* */ — блоковый комментарий исключает из выполнения целый блок команд, заключенный в указанную конструкцию.

Типы данных

Как и в языках программирования, в SQL существуют различные типы данных для хранения переменных:

  • Числа — для хранения числовых переменных (bit, int, tinyint, smallint, bigint, numeric, decimal, money, smallmoney, float, real).
  • Даты — для хранения даты и времени (datetime, smalldatetime).
  • Символы — для хранения символьных данных (char, nchar, varchar, nvarchar).
  • Двоичные — для хранения бинарных данных (binary, varbinary).
  • Большеобъемные — типы данных для хранения больших бинарных данных (text, ntext, image).
  • Специальные — указатели (cursor), 16-байтовое шестнадцатеричное число, которое используется для GUID (uniqueidentifier), штамп изменения строки (timestamp), версия строки (rowversion), таблицы (table).

Примечание. Для использования русских символов (не ASCII кодировки) используются типы данных с приставкой «n» (nchar, nvarchar, ntext), которые кодируют символы двумя байтами. Иначе говоря, для работы с Unicode используются типы данных с «n» (от слова national).

Примечание. Для данных переменной длины используются типы данных с приставкой «var». Типы данных без приставки «var» имеют фиксированную длину области памяти, неиспользованная часть которой заполняется пробелами или нулями.

Идентификаторы

Идентификаторы — это специальные символы, которые используются с переменными для идентифицирования их типа или для группировки слов в переменную. Типы идентификаторов:

  • @ — идентификатор локальной переменной (пользовательской).
  • @@ — идентификатор глобальной переменной (встроенной).
  • # — идентификатор локальной таблицы или процедуры.
  • ## — идентификатор глобальной таблицы или процедуры.
  • [ ] — идентификатор группировки слов в переменную.

Переменные

Переменные используются в сценариях и для хранения временных данных. Чтобы работать с переменной, ее нужно объявить, притом объявление должно быть осуществлено в той транзакции, в которой выполняется команда, использующая эту переменную. Иначе говоря, после завершения транзакции, то есть после команды GO, переменная уничтожается.

Объявление переменной выполняется командой DECLARE, задание значения переменной осуществляется либо командой SET, либо SELECT:

Примечание. В этом примере используется группировка слов в переменную — конструкция [Employee Name] воспринимается как одна переменная, так как слова заключены в квадратные скобки.

Операторы

Операторы — это специальные команды, предназначенные для выполнения простых операций над переменными:

  • Арифметические операторы: «*» — умножить, «/» — делить, «%» — остаток от деления, «+» — сложить, «-» — вычесть, «()» — скобки.
  • Операторы сравнения: «=»&#160;— равно, «>»&#160;— больше, «<»&#160;— меньше, «>=»&#160;— больше или равно, « <= » меньше или равно, «<>» («!=»)&#160;— не равно.
  • Операторы соединения: «+»&#160;— соединение (конкатенация) строк.
  • Логические операторы: «AND»&#160;— и, «OR»&#160;— или, «NOT»&#160;— не.
  • Операторы со множествами: «IN»

Cистемные функции

Спецификация Transact-SQL значительно расширяет стандартные возможности SQL благодаря встроенным функциям:

  • Агрегативные функции&#160;— функции, которые работают с коллекциями значений и выдают одно значение. Типичные представители: AVG&#160;— среднее значение колонки, SUM&#160;— сумма колонки, MAX&#160;— максимальное значение колонки, COUNT&#160;— количество элементов колонки.
  • Скалярные функции&#160;— это функции, которые возвращают одно значение, работая со скалярными данными или вообще без входных данных. Типичные представители: DATEDIFF&#160;— разница между датами, ABS&#160;— модуль числа, DB_NAME&#160;— имя базы данных, USER_NAME&#160;— имя текущего пользователя, LEFT&#160;— часть строки слева.
  • Функции-указатели&#160;— функции, которые используются как ссылки на другие данные. Типичные представители: OPENXML&#160;— указатель на источник данных в виде XML-структуры, OPENQUERY&#160;— указатель на источник данных в виде другого запроса.

Примечание. Полный список функций можно найти в справке к SQL серверу.

Примечание. К скалярным функциям можно также отнести и глобальные переменные, которые в тексте сценария вызываются двойной собакой «@@».

Выражения

Выражение&#160;— это комбинация символов и операторов, которая получает на вход скалярную величину, а на выходе дает другую величину или исполняет какое-то действие. В Transact-SQL выражения делятся на 3 типа: DDL, DCL и DML.

  • DDL (Data Definition Language)&#160;— используются для создания объектов в базе данных. Основные представители данного класса: CREATE&#160;— создание объектов, ALTER&#160;— изменение объектов, DROP&#160;— удаление объектов.
  • DCL (Data Control Language)&#160;— предназначены для назначения прав на объекты базы данных. Основные представители данного класса: GRANT&#160;— разрешение на объект, DENY&#160;— запрет на объект, REVOKE&#160;— отмена разрешений и запретов на объект.
  • DML (Data Manipulation Language)&#160;— используются для запросов и изменения данных. Основные представители данного класса: SELECT&#160;— выборка данных, INSERT&#160;— вставка данных, UPDATE&#160;— изменение данных, DELETE&#160;— удаление данных.

Управление выполнением сценария

В Transact-SQL существуют специальные команды, которые позволяют управлять потоком выполнения сценария, прерывая его или направляя в нужную логику.

  • Блок группировки&#160;— структура, объединяющая список выражений в один логический блок (BEGIN … END).
  • Блок условия&#160;— структура, проверяющая выполнения определенного условия (IF … ELSE).
  • Блок цикла&#160;— структура, организующая повторение выполнения логического блока (WHILE … BREAK … CONTINUE).
  • Переход&#160;— команда, выполняющая переход потока выполнения сценария на указанную метку (GOTO).
  • Задержка&#160;— команда, задерживающая выполнение сценария (WAITFOR)
  • Вызов ошибки&#160;— команда, генерирующая ошибку выполнения сценария (RAISERROR)

Литература

  • Майк Гандерлой, Джозеф Джорден, Дейвид ЧанцЧасть II. Язык программирования Transact-SQL // Освоение Microsoft SQL Server 2005 = Mastering Microsoft SQL Server 2005.&#160;— М .: «Диалектика», 2007.&#160;— С.&#160;139-280.&#160;— ISBN 0-7821-4380-6
  • Роберт ВиейраГлава 3. Основные сведения о языке T-SQL // Программирование баз данных MS SQL Server 2005 для профессионалов = Professional Microsoft SQL Server 2005 Programming.&#160;— М .: «Диалектика», 2007.&#160;— С.&#160;86-129.&#160;— 1072&#160;с.&#160;— ISBN 978-5-8459-1329-6
  • Виталий Бочкарёв.Просто о Transact-SQL &#160; (рус.) (25 января 2010). Архивировано из первоисточника 15 февраля 2012.
  • Microsoft Corporation.Курс MS-2071 "Создание запросов в Microsoft SQL Server 2000 с использованием Transact-SQL" &#160; (англ.) (13 октября 2004). Архивировано из первоисточника 15 февраля 2012.
  • Проставив сноски, внести более точные указания на источники.

1.0 • 1.1 • 1.11 • 4.2 • 4.21 • 4.21a • 6.0 • 6.5 • 7.0 • 2000 • 2005 • 2008 • 2008 R2 • 2012

2005 Mobile Edition • 2005 Compact Edition • Compact 3.5 • Compact 4.0

DTS • Management Studio • Business Intelligence Development Studio

Transact-SQL • SQL CLR

  • Microsoft SQL Server
  • Реализации SQL
  • Языки программирования баз данных

Wikimedia Foundation . 2010 .

Полезное

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

Transact-SQL — (T SQL) is Microsoft s and Sybase s proprietary extension to the SQL. Microsoft s implementation ships in the Microsoft SQL Server product. Sybase uses the language in its Adaptive Server Enterprise, the successor to Sybase SQL Server.Transact&#8230; … Wikipedia

Transact SQL — (TSQL) ist eine Erweiterung des SQL Standards durch Sybase und Microsoft und umfasst Fehlerbehandlung, Row Processing und Variablen Deklaration. Verwendung Man kann Programme (Stored Procedures) auf dem Datenbankserver speichern und damit die&#8230; … Deutsch Wikipedia

Transact-SQL — Le Transact SQL (T SQL) est une extension propriétaire de Microsoft et Sybase au langage SQL. Microsoft a inclus le T SQL dans son serveur de base de données Microsoft SQL Server alors que Sybase l utilise dans son Adaptive Server Enterprise&#8230; … Wikipédia en Français

Transact-SQL — Este artículo o sección necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 14 de mayo de 2011. También puedes ayudar wikificando&#8230; … Wikipedia Español

Transact-SQL — SQL Erweiterungen durch Microsoft/Sybase zur Programmierung von Server Funktionen, Transaktionen u.a … Acronyms

Transact-SQL — SQL Erweiterungen durch Microsoft/Sybase zur Programmierung von Server Funktionen, Transaktionen u.a … Acronyms von A bis Z

Database Console Commands (Transact-SQL) — The Database Console Commands (DBCC) are a series of statements in Transact SQL programming language to check the physical and logical consistency of a Microsoft SQL Server database.[1] These commands are also used to fix existing issues.[1] They … Wikipedia

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

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&#8230; … Deutsch Wikipedia

SQL Server Reporting Services — (сокр. SSRS, рус. Службы отчетности SQL Server)&#160; программная серверная система создания отчетов, разработанная корпорацией Microsoft. Она может быть использована для подготовки множества интерактивных и печатных отчетов. Система&#8230; … Википедия

Transact-SQL

Transact-SQL (T-SQL) — процедурное расширение языка SQL, созданное компанией Microsoft (для Microsoft SQL Server) и Sybase (для Sybase ASE).

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

  • управляющие операторы,
  • локальные и глобальные переменные,
  • различные дополнительные функции для обработки строк, дат, математики и т. п.,
  • поддержка аутентификации Microsoft Windows

Язык Transact-SQL является ключом к использованию MS SQL Server. Все приложения, взаимодействующие с экземпляром MS SQL Server, независимо от их реализации и пользовательского интерфейса, отправляют серверу инструкции Transact-SQL.

Содержание

Элементы синтаксиса

Экранирование названий таблиц и БД

Экранирование названий сущностей (баз данных, таблиц и столбцов) для предотвращения конфликтов с зарезервированными словами языка Transact-SQL происходит методом взятия их в квадратные скобки [tableTitle] , в отличие от языка SQL, где подобное предотвращается обрамлением сущностей символами `tableTitle` .

При этом если в одном операторе при запросе используется хоть одно «экранирование», то все данные в этом операторе должны быть экранированы для предотвращения ошибки. Это относится только к жёстко заданным названиям полей, т.е. символы-маски не считаются, их можно указывать без экранирования.

Директивы сценария

Директивы сценария — это специфические команды, которые используются только в MS SQL. Эти команды помогают серверу определять правила работы со скриптом и транзакциями. Типичные представители: GO — информирует программы SQL Server об окончании пакета инструкций Transact-SQL, EXEC (или EXECUTE) — выполняет процедуру или скалярную функцию.

Комментарии

Комментарии используются для создания пояснений для блоков сценариев, а также для временного отключения команд при отладке скрипта. Комментарии бывают как строковыми, так и блоковыми:

— — строковый комментарий исключает из выполнения только одну строку, перед которой стоят два минуса.

/* */ — блоковый комментарий исключает из выполнения целый блок команд, заключенный в указанную конструкцию.

Типы данных

Как и в языках программирования, в SQL существуют различные типы данных для хранения переменных:

  • Числа — для хранения числовых переменных (bit, int, tinyint, smallint, bigint, numeric, decimal, money, smallmoney, float, real).
  • Даты — для хранения даты и времени (datetime, smalldatetime).
  • Символы — для хранения символьных данных (char, nchar, varchar, nvarchar).
  • Двоичные — для хранения бинарных данных (binary, varbinary).
  • Большеобъемные — типы данных для хранения больших бинарных данных (text, ntext, image).
  • Специальные — указатели (cursor), 16-байтовое шестнадцатеричное число, которое используется для GUID (uniqueidentifier), штамп изменения строки (timestamp), версия строки (rowversion), таблицы (table).

Примечание. Для использования русских символов (не ASCII кодировки) используются типы данных с приставкой «n» (nchar, nvarchar, ntext), которые кодируют символы двумя байтами. Иначе говоря, для работы с Unicode используются типы данных с «n» (от слова national).

Примечание. Для данных переменной длины используются типы данных с приставкой «var». Типы данных без приставки «var» имеют фиксированную длину области памяти, неиспользованная часть которой заполняется пробелами или нулями.

Идентификаторы

Идентификаторы — это специальные символы, которые используются с переменными для идентифицирования их типа или для группировки слов в переменную. Типы идентификаторов:

  • @ — идентификатор локальной переменной (пользовательской).
  • @@ — идентификатор глобальной переменной (встроенной).
  • # — идентификатор локальной таблицы или процедуры.
  • ## — идентификатор глобальной таблицы или процедуры.
  • [ ] — идентификатор группировки слов в переменную.

Переменные

Переменные используются в сценариях и для хранения временных данных. Чтобы работать с переменной, ее нужно объявить, притом объявление должно быть осуществлено в той транзакции, в которой выполняется команда, использующая эту переменную. Иначе говоря, после завершения транзакции, то есть после команды GO, переменная уничтожается.

Объявление переменной выполняется командой DECLARE, задание значения переменной осуществляется либо командой SET, либо SELECT:

Примечание. В этом примере используется группировка слов в переменную — конструкция [Employee Name] воспринимается как одна переменная, так как слова заключены в квадратные скобки.

Операторы

Операторы — это специальные команды, предназначенные для выполнения простых операций над переменными:

  • Арифметические операторы: «*» — умножить, «/» — делить, «%» — остаток от деления, «+» — сложить, «-» — вычесть, «()» — скобки.
  • Операторы сравнения: «=» — равно, «>» — больше, «<» — меньше, «>=» — больше или равно, « <= » меньше или равно, «<>» («!=») — не равно.
  • Операторы соединения: «+» — соединение (конкатенация) строк.
  • Логические операторы: «AND» — и, «OR» — или, «NOT» — не.
  • Операторы со множествами: «IN»

Cистемные функции

Спецификация Transact-SQL значительно расширяет стандартные возможности SQL благодаря встроенным функциям:

  • Агрегативные функции — функции, которые работают с коллекциями значений и выдают одно значение. Типичные представители: AVG — среднее значение колонки, SUM — сумма колонки, MAX — максимальное значение колонки, COUNT — количество элементов колонки.
  • Скалярные функции — это функции, которые возвращают одно значение, работая со скалярными данными или вообще без входных данных. Типичные представители: DATEDIFF — разница между датами, ABS — модуль числа, DB_NAME — имя базы данных, USER_NAME — имя текущего пользователя, LEFT — часть строки слева.
  • Функции-указатели — функции, которые используются как ссылки на другие данные. Типичные представители: OPENXML — указатель на источник данных в виде XML-структуры, OPENQUERY — указатель на источник данных в виде другого запроса.

Примечание. Полный список функций можно найти в справке к SQL серверу.

Примечание. К скалярным функциям можно также отнести и глобальные переменные, которые в тексте сценария вызываются двойной собакой «@@».

Управление выполнением сценария

В Transact-SQL существуют специальные команды, которые позволяют управлять потоком выполнения сценария, прерывая его или направляя в нужную логику.

Добавить комментарий

Ваш адрес email не будет опубликован.