Возвращают информацию о значениях, объектах и текущих параметрах MS SQL Server.
DataLength(выражение) – возвращает число, соответствующее количеству байт, необходимых для хранения результата выражения.
@@Error – код последней ошибки, произошедшей в текущем соединении. Если ошибок нет, результат равен 0.
Host_Name() – символьное имя компьютера в сети, на котором выполняется команда.
System_User и Session_User – возвращают соответственно имя учетной записи пользователя для входа и имя пользователя текущей базы данных.
@@IDLE – определяет количество миллисекунд, прошедшее со времени последнего запуска MS SQL Server.
NewID() – генерирует новое значение типа UniqueIdentifier.
Permission ([ObjectID[, ‘column’]]) – возвращает информацию о правах доступа для текущего пользователя. Аргумент ObjectID указывает идентификационный номер объекта базы данных. Для получения идентификационного номера объекта по его имени используется функция Object_ID(‘имя’).
Результатом данной функции является 32-битное значение, каждый бит которого соответствует тому или иному праву доступа. Если значение этого бита равно 1, то доступ к объекту разрешен.
Определим, например, имеет ли пользователь право выборки данных из таблицы Product БД AdventureWorks2008:
Если первый младший бит результата равен 1, то выборка данных из таблицы Product разрешена.
Чтобы проверить право доступа к полю некоторой таблицы, необходимо указать идентификационный номер этой таблицы данных и в аргументе ‘column’ указать имя этого поля. Например, для проверки возможности выборки данных из поля Stor_id таблицы Sales необходимо:
Если первый младший бит результата равен 1, то выборка данных из поля ProductID таблицы Product также разрешена.
В MS SQL Server 2008 появилась возможность отлаживать SQL‑код при помощи пошагового выполнения. Для этого существуют команды Debug – Step Into (F11) и Debug – Step Over (F10). Команда Debug – Toggle Breakpoint (F9) устанавливает точку останову, до которой будет происходить выполнение кода.
Во время отладки доступны такие окна:
· Locals – автоматически содержит список всех локальных переменных и показывает их текущие значения;
· Watch – позволяет вручную добавлять переменные для отслеживания их значений;
· Callstack – показывает стек вызовов функций.
Снимок экрана во время процесса отладки показан на рис. 3.3.
Рис. 3.3. Окно отладки в Management Studio. Желтая стрелка указывает на текущую исполняемую строку; красный кружок – точка останова.
Краткие итоги. Рассмотрены типы данных, доступные в MS SQL Server 2008. Продемонстрировано использование базовых алгоритмических конструкций и локальных переменных, а также показана возможность отладки SQL-кода.
[1] UTC (Universal Time Coordinated) – универсальное синхронизированное время.