Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5362 / 282 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00
Лекция 13:

Введение в Transact-SQL и SQL Query Аnalyzer

< Лекция 12 || Лекция 13: 12345 || Лекция 14 >
Сценарии T-SQL

Создав свои собственные сценарии, вы получите замечательную возможность для многократного запуска операторов и хранимых процедур T-SQL. Сценарий (script) – это просто файл, в котором содержатся операторы T-SQL, которые нужно запускать. В скрипте может быть как один оператор, так и последовательность операторов. Мы сразу дадим одну рекомендацию: создавая сценарии T-SQL, давайте именам их файлов расширение .sql, тогда вам будет легче находить эти файлы.

Ниже дан пример кода простого сценария:

use MyDB 
go 
sp_helpdb MyDB 
go 
sp_helpfilegroup 
go 
sp_spaceused Customer_Data 
go 
sp_spaceused Product_Info 
go

Этот сценарий вызывает несколько системных хранимых процедур, собирающих разнообразную информацию о базе данных MyDB и ее файлах, группах файлов и таблицах (Customer_Data и Product_Info).

Предположим, что этот сценарий был сохранен в файле MyDB_info.sql. Тогда, чтобы запустить его из командной строки, вы можете воспользоваться опциями  -i и -o утилиты OSQL. Опция  -i вызывает запуск сценария, находящегося во входном файле ( input ), имя которого указано после опции. Опция  -o задает выходной файл ( output ), имя которого указано после опции, в него будут помещены результаты. Пусть выходной файл у нас будет иметь имя MyDB_info.out. Давайте также применим опцию -e, тогда операторы T-SQL из входного файла будут отображаться (echo) также и в выходном файле, что облегчит понимание выходного файла. Например, чтобы исполнить наш сценарий, будучи системным администратором, надо дать следующую команду в командной строке:

osql –U sa  –P  –i MyDB_info.sql  –o MyDB_info.out  –e

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

Есть и другой способ запуска сценариев, при котором вам не понадобится каждый раз набирать с клавиатуры команду osql -u ....Надо создать .cmd-файл и поместить в него эту команду. Так, можно назвать этот файл MyDB_info.cmd и поместить в него вышеприведенную команду osql -u .... Теперь вы можете не только запустить команду MYDB_INFO из командной строки, но и дважды щелкнуть мышью на имени файла MyDB_info.cmd в Проводнике Microsoft Windows.

Сценарии можно запускать и в Query Analyzer. Чтобы запустить наш сценарий MyDB_info.sql, откройте этот файл, выбрав в Query Analyzer команду Open в меню File, после этого в верхней панели появится код сценария. Нажмите на кнопку Execute Query или нажмите клавиши Ctrl+E, и операторы сценария исполнятся. Вывод от операторов сценария будет выдаваться в соответствии с порядком исполнения операторов (рис. 13.5). Обратите внимание, что на рис. 13.5 две верхние таблицы результатов выданы хранимой процедурой sp_helpdb.

Результаты исполнения сценария Query Analyzer

увеличить изображение
Рис. 13.5. Результаты исполнения сценария Query Analyzer

Заключение

В этой лекции вы познакомились с основами языков SQL и T-SQL, увидели примеры простых операторов DDL и DML. Теперь вы умеете запускать операторы T-SQL, причем разными способами – при помощи ISQL, OSQL, Query Analyzer и из сценариев T-SQL. (Об использовании T-SQL см. в "Извлечение данных при помощи Transact-SQL" , "Управление таблицами с помощью T-SQL и Enterprise Manager" и "Службы компонентов и Microsoft Distributed Transaction Coordinator" .)

< Лекция 12 || Лекция 13: 12345 || Лекция 14 >
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Игорь Соловьев
Игорь Соловьев
Россия, Братск