Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2374 / 243 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Урок 23:

Компоненты языка Transact-SQL

Команды администрирования базы данных

Большинство команд Transact-SQL, поддерживающие администрирование базы данных, доступны интерактивно через средства Enterprise Manager. Собственно команды администрирования позволяют выполнить эти же задачи программно.

Команды администрирования базы данных показаны в таблице 24.3. Команды GRANT, DENY и REVOKE управляют средствами ограничения доступа и защиты базы данных (безопасностью). Команды BACKUP, RESTORE и UPDATE STATISTICS дублируют функциональные возможности планировщика обслуживания в Enterprise Manager.

Команда SET используется совместно с ключевыми словами, например такими, как DATEFORMAT и LANGUAGE, для управления текущим сеансом SQL Server. В Enterprise Manager большинство из этих переменных доступны из диалогового окна свойств базы данных.

Последние две команды администрирования базы данных, KILL и SHUTDOWN, используются для управления работой SQL Server. Команда KILL заканчивает выполнение операций, ассоциированных с соединением с определенным пользователем. Команда SHUTDOWN безусловно завершает работу SQL Server.

Таблица 24.3. Команды администрирования базы данных.
Команда Функция
GRANT Устанавливает определенные разрешения для объекта безопасности.
DENY Отключает определенные разрешения для объекта безопасности, и предотвращает наследование объектом разрешений через его членство в роли или группе.
REVOKE Удаляет определенное разрешение для объекта безопасности.
BACKUP Создает резервную копию базы данных или журнала трансакций.
RESTORE Восстанавливает данные после резервирования.
UPDATE STATISTICS Обновляет статистику, используемую обработчиком запросов.
SET Управляет окружением SQL Server.
KILL Завершает соединение и все связанные с ним процессы.
SHUTDOWN Отключает SQL Server.

Другие команды

Остались нерассмотренными еще три набора команд Transact-SQL. Первый набор команд управляет использованием программных переменных. Мы рассмотрим эти команды в "Программные объекты"

Набор команд управления потоком контролирует выполнением операторов в SQL-сценарии. Команды управления потоком мы рассмотрим в "Управление ходом выполнения" Набор команд для работы с курсорами управляет поведением объекта специального типа – курсора, который указывает на определенную запись в таблице или представлении. Курсоры мы рассмотрим в "Курсоры в Transact-SQL"

Операции Transact-SQL

Операцией (operator) мы будем называть символ, обозначающий действие, которое будет выполнено программой SQL Server. В "Оператор SELECT" уроке мы использовали операцию конкатенации + для создания вычисляемого столбца в операторе SELECT.

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

Большинство операций являются бинарными. Операция называется бинарной, если она оперирует с двумя значениями. Операция + в выражении 4+3, и операция < в выражении MonthSales < MonthBudget являются примерами бинарных операций. Операция является унарной, если она оперирует только с одним значением. В выражении -10 операция (-) является унарным.

Приоритет операций

Когда вы создаете составной оператор Transact-SQL, важно представлять себе порядок, в котором должны выполняться операции – их приоритет (precedence). Определение приоритета часто не представляет проблемы, но иногда незнание приоритета может ввести вас в заблуждение при работе с операциями. Например, 3*(4+1) равно 15, в то время как 3*4+1 равно 13, поскольку операция умножения выполняется первой. Операция умножения имеет наивысший приоритет.

Ниже представлены операторы в порядке их приоритетов. Операции, имеющие одинаковый приоритет, будут выполняться слева на право.

  1. + (положительное число), - (отрицательное число), и ~ (побитная инверсия NOT)
  2. *, /, %
  3. + (сложения), + (конкатенации), - (вычитания)
  4. = (сравнения), >, <, >=, <=, <>
  5. ^, &, |
  6. NOT
  7. AND
  8. OR
  9. = (присваивания)

Вы можете управлять порядком вычисления, используя скобки, как в предыдущем примере.

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

Операторы комментариев

Transact-SQL поддерживает два специальных оператора, которые не используются для операций вычисления, а предписывают SQL Server игнорировать определенный текст в сценарии. Transact-SQL поддерживает два оператора комментариев. Двойное тире (--) предписывает SQL Server игнорировать всю строку после этого символа. Этот оператор может использоваться в начале строки, в результате чего SQL Server будет игнорировать всю строку, или же он может использоваться внутри строки, в результате чего SQL Server будет игнорировать все, что находится после двойного тире до конца строки.

Другим оператором комментариев являются два оператора, /* и */, которые используются вместе. SQL Server будет игнорировать все, что находится между первым оператором комментария /* и вторым оператором комментария */, причем не важно сколько строк расположено между ними.

На рис. 24.1 показано использование оператора комментариев.

Transact-SQL поддерживает два оператора комментариев.

Рис. 24.1. Transact-SQL поддерживает два оператора комментариев.

Совет. Operator /* и */ полезны при временном отключении operators Transact-SQL во время отладки.

Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков