Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд / Лекция 7 - Алгоритмические конструкции, хранимые процедуры.docx
Скачиваний:
32
Добавлен:
14.05.2015
Размер:
45.98 Кб
Скачать

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

Возвращают информацию о значениях, объектах и текущих параметрах MSSQLServer.

DataLength(выражение) – возвращает число, соответствующее количеству байт, необходимых для хранения результата выражения.

@@Error – код последней ошибки, произошедшей в текущем соединении. Если ошибок нет, результат равен 0.

Host_Name() – символьное имя компьютера в сети, на котором выполняется команда.

System_User иSession_User – возвращают соответственно имя учетной записи пользователя для входа и имя пользователя текущей базы данных.

@@IDLE – определяет количество миллисекунд, прошедшее со времени последнего запускаMSSQLServer.

Функции преобразования типов

CAST ( значение AS тип_данных [ (длина ) ])

CONVERT ( тип_данных [ ( длина ) ] , значение [ , стиль ] )

Например:

PRINT 'Сегодня '+CONVERT(varchar(20),GETDATE(),106)+','+ CONVERT(VARCHAR(20),datepart(weekday,GETDATE()))+' день в текущей неделе'

возвращает строку:

Сегодня 03 апр 2012, 2 день в текущей неделе

Более подробно о использовании функций преобразования типов: http://msdn.microsoft.com/ru-ru/library/ms187928(v=sql.100).aspx

Отладка кода в ManagementStudio

В MSSQLServer2008 появилась возможность отлаживать SQL‑код при помощи пошагового выполнения. Для этого существуют командыDebugStep Into(F11) иDebugStep Over(F10). КомандаDebugToggle Breakpoint(F9) устанавливает точку останову, до которой будет происходить выполнение кода.

Во время отладки доступны такие окна:

  • Locals– автоматически содержит список всех локальных переменных и показывает их текущие значения;

  • Watch– позволяет вручную добавлять переменные для отслеживания их значений;

  • Callstack– показывает стек вызовов функций.

Хранимые процедуры

Понятие хранимой процедуры

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

  • необходимые операторы уже содержатся в базе данных;

  • все они прошли этап синтаксического анализа и находятся в исполняемом формате; перед выполнением хранимой процедуры SQL Server генерирует для нее план исполнения, выполняет ее оптимизацию и компиляцию;

  • хранимые процедуры поддерживают модульное программирование, так как позволяют разбивать большие задачи на самостоятельные, более мелкие и удобные в управлении части;

  • хранимые процедуры могут вызывать другие хранимые процедуры и функции;

  • хранимые процедуры могут быть вызваны из прикладных программ других типов;

  • как правило, хранимые процедуры выполняются быстрее, чем последовательность отдельных операторов;

  • хранимые процедуры проще использовать: они могут состоять из десятков и сотен команд, но для их запуска достаточно указать всего лишь имя нужной хранимой процедуры. Это позволяет уменьшить размер запроса, посылаемого от клиента на сервер, а значит, и нагрузку на сеть.

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