В методических указаниях по учебному курсу «Базы данных
и экспертные системы» рассматривается язык Transact-SQL, используемый в одной из самых популярных систем управления реляционными базами данных – MS SQL Server. <...> Указания ориентированы в первую очередь на практическое применение языка TransactSQL: рассмотрены средства управления транзакциями, приведены
сведения о хранимых процедурах, пользовательских и встроенных
функциях, рассмотрены примеры использования триггеров. <...> Содержатся теоретические сведения, включая достаточно подробное описание синтаксиса операторов Transact-SQL, приведены указания
по их использованию. <...> Методические указания содержат большое
количество примеров по использованию операторов Transact-SQL,
которые могут быть полезны на этапе освоения материала и выступать в качестве вопросов для самопроверки. <...> УДК 004.65(072)
ББК З973.233-018.2я73
© ЯрГУ, 2013
2
Введение
SQL (Structured Query Language) – это универсальный компьютерный язык, применяемый для создания, модификации
и управления данными в реляционных базах данных (язык структурированных запросов). <...> Язык Transact-SQL является ключом к использованию SQL
Server. <...> Транзакции
Язык запросов Transact-SQL взял свое название от слова
транзакция. <...> Допустим, что
у нас есть таблица, содержащая, как минимум, два поля – номер
счета в банке и сумма денег на этом счету. <...> UPDATE R1 SET Баланс = Баланс – 100 WHERE [Номер счета]= ‘A123’
А затем запрос, увеличивающий значение второго счета. <...> Это и сбои в электроэнергии и работе компьютера, которые происходят редко, но, помимо этого,
бывают блокировки записей, арифметические переполнения,
да и просто ошибки в коде. <...> Если в момент выполнения
одного из запросов происходит сбой, то все изменения, происшедшие после начала транзакции, отменяются. <...> Концепция транзакций – неотъемлемая часть любой клиентсерверной базы данных. <...> Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования
данными (удаления, вставки, модификации <...>
Transact-SQL__методические_указания.pdf
Министерство образования и науки Российской Федерации
Ярославский государственный университет им. П. Г. Демидова
Кафедра компьютерной безопасности
и математических методов обработки информации
Transact-SQL
Методические указания
Рекомендовано
Научно-методическим советом университета
для студентов, обучающихся по направлению
Прикладная математика и информатика
Ярославль
ЯрГУ
2013
1
Стр.1
УДК 004.65(072)
ББК З973.233-018.2я73
Т 65
Рекомендовано
Редакционно-издательским советом университета
в качестве учебного издания. План 2013 года
Рецензент
кафедра компьютерной безопасности
и математических методов обработки информации
Составитель О. В. Власова
Transact-SQL : методические указания / сост. О. В. ВлаТ
65
сова ; Яросл. гос. ун-т им. П. Г. Демидова. – Ярославль : ЯрГУ,
2013. – 56 с.
В методических указаниях по учебному курсу «Базы данных
и экспертные системы» рассматривается язык Transact-SQL, используемый
в одной из самых популярных систем управления реляционными
базами данных – MS SQL Server. Указания ориентированы
в первую очередь на практическое применение языка TransactSQL:
рассмотрены средства управления транзакциями, приведены
сведения о хранимых процедурах, пользовательских и встроенных
функциях, рассмотрены примеры использования триггеров. Содержатся
теоретические сведения, включая достаточно подробное описание
синтаксиса операторов Transact-SQL, приведены указания
по их использованию. Методические указания содержат большое
количество примеров по использованию операторов Transact-SQL,
которые могут быть полезны на этапе освоения материала и выступать
в качестве вопросов для самопроверки.
Предназначено для студентов, обучающихся по направлению
010400.62 Прикладная математика и информатика (дисциплина
«Базы данных и экспертные системы», цикл Б3), очной
формы обучения.
УДК 004.65(072)
ББК З973.233-018.2я73
© ЯрГУ, 2013
2
Стр.2
Оглавление
Введение..............................................................................................3
1. Транзакции......................................................................................4
Блокировки ........................................................................................6
Управление транзакциями в среде MS SQL Server........................9
Явные транзакции..............................................................................9
Вложенные транзакции....................................................................11
Уровни изоляции MS SQL Server...................................................12
2. Операторы процедурной логики.................................................14
Переменные......................................................................................14
Преобразование типов.....................................................................15
Управляющие операторы................................................................17
Курсоры.............................................................................................19
3. Хранимые процедуры...................................................................25
Контрольные вопросы.....................................................................32
4. Пользовательские функции.........................................................33
Скалярные функции.........................................................................34
Inline функции..................................................................................36
Multi-statement функции..................................................................38
Встроенные функции.......................................................................39
Математические функции...............................................................40
Cтроковые функции.........................................................................42
Функции для работы с датой и временем......................................44
5. Триггеры DML..............................................................................45
Триггер FOR (AFTER).....................................................................48
Триггер INSTEAD OF.....................................................................49
Программирование триггера..........................................................51
Литература.....................................................................................54
55
Стр.55