Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие СУБД 2011.pdf
Скачиваний:
68
Добавлен:
10.06.2015
Размер:
2.75 Mб
Скачать

108

Рисунок 17.5. – Создание представления с помощью мастера

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

CREATE VIEW vn_Continent_Country

AS

SELECT Continent.Continent_ID, Continent.Continent, Country.Country, Country.City, Country.Population, Country.Area, Country.Country_ID

FROM Continent

INNER JOIN Country ON Continent.Continent_ID = Country.Continent_ID

Задание

В соответствии со схемой данных разработанной на 4-й лабораторной работе создайте свой проект БД средствами Microsoft SQL Server.

© 2011 г. Д.Л. Осипов

109

XVIII. Введение в Microsoft Transact SQL

Вид занятия – лабораторное занятие. Время занятия – 2 часа.

Программное обеспечение – Microsoft SQL Server 2005.

Каждая из современных реляционных СУБД внесла свои дополнения в стандартизированный ещё в прошлом веке язык структурированных запросов SQL-92. Это занятие посвящено некоторым особенностями одного из самых известных диалектов SQL – языка

Transact-SQL.

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

Определение и использование переменных

Переменные в Transact-SQL могут быть локальными или глобальными. Локальные переменные определяются с помощью оператора DECLARE. Перед именем переменной всегда ставится символ “@”, а перед именем глобальной два таких символа.

DECLARE @имя_переменной тип_данных

Например:

DECLARE @S CHAR(20), @I INTEGER

Для вывода переменной на экран можно использовать команду PRINT.

Для преобразования типа данных применяются функции CONVERT или CAST. Для присвоения переменной значения применяется оператор SET или SELECT.

В MS SQL объявлен ряд глобальных переменных, которые Вы сможете применять в своей работе. Некоторые из них представлены в таблице 18.1.

 

 

Глобальные переменные. Таблица 18.1

 

 

Название

Описание

 

@@CONNECTIONS

Общее количество соединений с сервером или попыток входа в

 

 

систему.

 

@@ERROR

Номер последней системной ошибки; в случае отсутствия

 

 

ошибок это значение равно 0.

 

@@FETCH_STATUS

Состояние последнего выполненного оператора FETCH.

 

@@IDENTITY

Значение последней вставленной в столбец IDENTITY величи-

 

 

ны.

 

@SIDLE

Суммарное время простоя центрального процессора сервера.

 

@@IO_BUSY

Суммарное время, затраченное сервером на выполнение опе-

 

 

раций ввода/вывода.

 

@@LANGUAGE

Название используемого в данный момент языка.

 

@@LOCK_TIMEOUT

Величина тайм-аута для операций блокировки (в миллисекун-

 

 

дах).

 

@@MAX_CONNECTIONS

Максимальное число одновременных подключений.

 

@@MAX_PRECISION

Максимальный уровень точности для числовых и десятичных

 

 

типов данных.

 

@@NESTLEVEL

Номер текущего уровня вложения при вызове подпрограмм.

 

@@OPTIONS

Возвращает установки текущих опций, заданных с помощью

 

 

 

 

© Осипов Д.Л., 2011

 

 

110

 

 

оператора SET.

 

 

 

@@PROCID

Идентификатор текущей хранимой процедуры.

 

@@REMSERVER

Имя удаленного сервера.

 

@@ROWCOUNT

Количество строк, на которые повлиял последний запрос.

 

@@TRANCOUNT

Общее число активных транзакции для текущего пользователя.

Операторы управления Transact-SQL

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

Ключевые слова IF…ELSE используются для реализации аналога условного оператора, знакомого Вам из традиционных языков программирования:

IF выражение Операторы

[ELSE]

[IF выражение] Операторы

Ключевые слова BEGIN и END используются для обозначения набора операторов SQL, выполняемых как единое целое:

.

BEGIN

операторы

END

Ключевое слово WHILE используется для определения условия, на основании которого выполняется один или несколько операторов SQL, пока это условие истинно (равно

TRUE):

WHILE <булево выражение> <операторы SQL>

Внутри конструкции WHILE могут применяться операторы BREAK и CONTINUE, которые соответственно предназначены для прерывания работы конструкции или для продолжения её выполнения.

DECLARE @X INT, @Y TINYINT SET @X=1 SET @Y=1

WHILE @X<5

BEGIN

PRINT ‘X<5’

SET @X=@X+1

SET @Y=@Y+1 IF @Y=2

BEGIN

PRINT ‘Y=2’

BREAK

END

END

PRINT ‘ЦИКЛ ЗАВЕРШЁН’

© 2011 г. Д.Л. Осипов

111

Базовые функции Transact-SQL

В таблицах 18.1 - 18.4 представлены наиболее часто применяемые функции transact-SQL.

Математические функции

Основные математические функции Transact-SQL. Таблица 18.1

Функция

Описание

 

ACOS

Арккосинус числа

 

ASIN

Арксинус числа

 

ATAN

Арктангенс числа

Значение угла выражено в радиа-

ATAN2

Арктангенс числа

COS

Тригонометрический косинус угла

нах

COT

Тригонометрический котангенс угла

 

SIN

Тригонометрический синус угла

 

TAN

Тригонометрический тангенс угла

 

DEGREES

Преобразование радиан в градусы

 

RADIANS

Преобразование градусов в радианы

 

CEILING

Наименьшее целое значение, которое больше или равно значению выражения

FLOOR

Наибольшее целое значение, которое меньше или равно значению выражения

EXP

Экспонента значения выражения

 

LOG

Натуральный логарифм значения выражения

LOG 10

Десятичный логарифм значения выражения

PI()

Значение числа ПИ

 

POWER

Значение выражения в степени у

 

ABS

Абсолютное значение выражения

 

RAND

Случайное действительное число, находящееся в промежутке от нуля до еди-

 

ницы либо до значения, указанного в необязательном аргументе integer ex-

 

pression

 

ROUND

Округление значения с точностью до integer

SIGN

Возвращает значение 1, 0 или -1, в зависимости от знака выражения. Имеет

 

тот же тип, что и исходное выражение

 

SQRT

Квадратный корень из значения выражения

Функции работы со строками

Основные функции Transact-SQL для работы со строками. Таблица 18.2

Функция

Описание

CHAR

Преобразует ASCII код в символ

LOWER

Преобразует прописные буквы в строчные

UPPER

Преобразует строчные буквы в прописные

LTRIM

Удаляет из строки начальные пробелы

RTRIM

Удаляет из строки конечные пробелы

CHARINDEX

Осуществляет поиск подстроки в строке

STUFF

Вставляет подстроку в строку

SUBSTRING

Извлекает из строки подстроку

(+)

Сложение строк

Функции для работы с датой

Основные функции Transact-SQL для работы с датой. Таблица 18.3

Функция Описание

© 2011 г. Д.Л. Осипов