- •Рецензенты:
- •Введение
- •Лабораторная работа №1: «Логическое проектирование»
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №2: «Физическое проектирование: построение схемы данных»
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №3: «Создание таблиц базы данных в ms sql Server 2000»
- •Имя_столбца тип constraint имя_ограничения ограничение
- •Имя_столбца as выражение
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №4: «Создание представлений в ms sql Server 2000»
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №5: «Разработка sql-сценариев»
- •Exec имя_сценария.Sql
- •Declare имя_переменной тип_переменной
- •Begin набор операторов end
- •If логическое_условие
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №6: «Разработка хранимых процедур»
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №7: «Создание триггеров»
- •Вопросы к допуску
- •Контрольные вопросы
- •Лабораторная работа №8: «Создание учетных записей. Управление разрешениями»
- •Вопросы к допуску
- •Контрольные вопросы
- •Рекомендуемая литература
Declare имя_переменной тип_переменной
Имя переменной всегда начинается с символа «@». Остальная часть имени переменной подчиняется стандартным правилам именования в MS SQL Server 2000. Переменные могут иметь те же самые типы, что и столбцы таблицы (типы рассмотрены в лаб. раб. №2). В одной команде declare можно объявить несколько переменных, отделяя их друг от друга запятыми. Например: declare @name varchar(20), @age tinyint.
Для присваивания значений переменным, используют команды set или select. Первая команда позволяет присваивать значение только одной переменной, вторая – сразу нескольким. Например:
Set @name = ‘Alex’
Set @age = 24
Select @name=’Alex’, @age = 24
После знака равенства в операторе присваивания может находиться как некоторое атомарное значение, так и вычисляемое выражение. В выражениях допустимо применять имена переменных, имена столбцов таблиц базы данных, константные значения, операторы - арифметические, конкатенации, логические, битовые и сравнения, а также функции (как встроенные, так и пользовательские).
К арифметическим операторам относят сложение (+), вычитание (-), умножение (*), деление (/) и нахождение остатка от деления (%). Используются для числовых типов.
Оператор конкатенации предназначен для работы с символьными строками и позволяет объединять их. Оператор обозначается знаком (+).
Операторы сравнения (<,>,=,!=,>= и <=)и битовые операторы (&, | и ^) аналогичны соответствующим операторам любого языка программирования.
Набор логические операторов, в отличие от всех остальных, имеет помимо стандартных, операторы, не имеющие аналогов в традиционных языках программирования. Это связано со спецификой обрабатываемой информации. Рассмотрим логические операторы более подробно.
NOT, AND и OR – имеют аналоги в языках программирования;
BETWEEN – возвращает true если проверяемое значение лежит в указанном промежутке;
ALL – сравнивает проверяемое скалярное значение со всеми значениями в наборе. Возвращает true, если условие выполняется для всех значений в наборе;
ANY – сравнивает проверяемое скалярное значение со всеми значениями в наборе. Возвращает true, если условие выполняется хотя бы для одного значения в наборе;
IN – аналогичен ANY, с той разницей, что может использоваться любое выражение в качестве проверяемого значения. Кроме того, для формирования набора может использоваться не только запрос или подзапрос, но и простое перечисление значений;
EXISTS – возвращает true, если подзапрос возвращает хотя бы одну строку;
LIKE – используется для поиска значений по заданному образцу (был рассмотрен в [7]).
Для вывода информации, используют команду print или уже знакомую команду select. Разница в том, что команда print осуществляет простой вывод, а команда select – вывод в стандартный набор строк. Синтаксис команд одинаков – после команды перечисляются имена переменных, значения которых нужно вывести.
Временные таблицы создаются и обрабатываются иным образом. Создание временной таблицы аналогично созданию обычной таблицы, с той разницей, что имя временной таблицы должно начинаться с символа «#». Временные таблицы сохраняются в служебной базе данных TempDB и автоматически уничтожаются при завершении сеанса пользователя, их создавшего (или командой drop table). Работа с временной таблицей – ввод, редактирование, вывод и удаление данных, происходит аналогично работе с обычными пользовательскими таблицами.
Рассмотрим управляющие конструкции, используемые в языке T-SQL:
Составной оператор – используется в тех случаях, когда необходимо объединить группу операторов T-SQL в единый блок, воспринимаемый сервером как единое целое. В частности, составной оператор зачастую используется внутри операторов ветвления и цикла. Оператор имеет следующий синтаксис:
