|
Программирование >> Реализация баз данных
► Просмотр системных хранимые №дур в БД Master 1. Откройте 1 cry Analyzer и подключитесь к локальному серверу. .. 2. Откройте окно Object Browser, если оно еще не открыто. В окне Object Browser выводится иерархическое дерево объектов базы данных. 3. Раскройте узел Master. Появляется список типов объектов. Обратите внимание на узлы Stored Procedures и Extended Procedures. 4. Раскройте узел Stored Procedures. Появляется список хранимых процедур и расширенных хранимых процедур базы данных Master. 5. Изучите имена процедур из списка. Обратите внимание, что владельцем всех процедур является dbo. 6. Чем отличаются системные хранимые процедуры от расширенных процедур, которые находятся в списке узла Stored Procedures? 7. Раскройте системную хранимую процедуру dbo.sp who. Появляются узлы Parameters и Di;pendencies. , S. Раскройте узел Parameters. Обратите внимание, что для этой процедуры определены два параметра: VALUE и @loginame Ri VALLfE - это встроенный параметр, который используется для хранения кодов он есть у всех хранимых процедур. - это входной параметр. Программа-пример из этого упражнения (вторая по счету в разделе, посвященном системным хранимым устанавливает для параметра значение USE Master гая хранимая процедура с префиксом sp . SELECT OBJECTPROPERTY(oaiect id( sp prepare), IsExtendedProc) . Этот пример ащает значение I. USE Master процедура, которая Н(; является расширенной, . - но имеет префикс хр SELECT ()BJECTPROPERTY(object id{xp logininfo}, IsExtendedProC ) Этот пример возвращает значение 0. Удаленные хранимые процедуры Как следует из названия, хранимая процедура работает на удаленной копии SQL Server. Удаленные хранимые адедуры оставлены для совместимости с предыдущими версиями, в Server 2000 их заменили распределенные запросы. Подробнее о распределенных запросах - в главе 7. Упражнение Изучение хранимых процедур Для этого упражнения взято несколько хранимых процедур из базы данных Master. Чтобы выполнить его, ва №що зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000 Server. 9. Раскройте узел Dependencies. Обратите внимание, что эта хранимая процедура зависит только от таблицы processes. Это системная таблица, которая хранится в базе данных Master. Системная хранимая процедура sp who выполняет запрос к таблице и выводит часть ее данных в своем результирующем наборе. Эту таблицу можно найти, раскрыв узел System Tables. 10. Если вы уже просмотрели таблицы tibo.sysprocesses. вернитесь к системной хранимой процедуре sp wlio в окне Object Browser. 11. Прокрутите содержимое Object Browser, пока не увидите узел Extended Procedures. Обратите внимание на три хранимые процедуры с префиксом хр , которые расположены непосредственно над узлом Extended Procedures. Они не являются ми, что можно проверить средствами описанной ранее функции OBJECTPROPERTY. 12. Раскройте узел Extended Procedures. Прокручивая список объектов этого узла, обратите внимание на наличие в нем как системных, так и расширенных хранимых процедур. Большинство процедур из этого узла являются расширенными. 13. Оставьте Query Analyzer открытым, он понадобится для следующего упражнения. Два метода просмотра содержимого хранимой процедуры 1. Щелкните объект dbo.sp who. 2. Щелкните правой кнопкой dbo.sp who. Появляется контекстное меню этого объекта. 3. Щелкните Scripting Options. Выводится диалоговое окно Options. 4. Установите флажок Include Descriptive Headers In The Script и шелкните ОК. Этот параметр около заголовка текста хранимой процедуры ее имя и дату со- здания. 5. Щелкните правой кнопкой dbo.spwho. Выводится контекстное меню для этого объекта. 6. Укажите Point to Script Object To New Window As и шелкните Create. В окне Query появляется хранимая процедура Обратите внимание, что рядом с заголовком файла появляются ключевые слова CREATE PROCEDURE. юшем занятии рассказано о создании хранимых процедур на языке Обратите внимание на пакеты команд в тексте хранимой проце- дуры При изучении текста процедуры не раз встречается входной параметр @loginame. Также обратите внимание, что процедура несколько раз выполняет запрос к таблице SysProcesses, в котором указано ее полное имя master.dbo.sysprocesses. Пусть вас не беспокоит, что пока вам понятны не все команды этой В за- нятиях 2 и 3 мы продолжим рассказ о программировании хранимых процедур и управлении ими. 7 Щелкните на панели инструментов кнопку New Query или нажмите CTRL+N. На правой панели появляется окно нового 8 На панели Editor в окне Query введите следующий код Transact-SQL: sp helptext [master.dbo.sp wno] В этой команде для вывода содержимого системной хранимой процедуры sp who, которая в базе данных Master, используется системная хранимая процедура sphelptext. Хотя указывать полное имя хранимой процедуры не обязательно, лучше это все-так ть - в этом случае вы гарантированно откроете именно тот объект, который вам нужен. 9. Исполните команду. Содержимое системной хранимой процедуры sp who выводится на вкладке Grids панели Results. Резюме . . Хранимые состоят из команд находящихся в базах данных. Как правило, хранимые процедуры создают для исполнения какой-либо одной задачи. Применяя их, вы повысите производительность, расширите возможности программирования и сможете поддерживать функции не доступные при использовании отдель- ных команд или пакетов Повышение производительности за счет хранения процедуры в базе данных, проверки синтаксиса команд во время создания процедуры и генерации во время первого запуска хранимой процедуры плана исполнения, который разрешается использовать многократно. Хранимые процедуры поддерживают параметры и коды возврата. Благодаря своей модульности, хранимые процедуры формируют изолируюшии слой между меняющейся бизнес-логикой и внутренней структурой данных. Возможности программирования хранимых процедур в результате поддержки расширенных процедур становятся практически безграничными. Что касается безопасности, то пользователям можно предоставить права на применение хранимых процедур, запретив им манипулирование базы данных вне хранимой процедуры. Существует пять категорий процедур: системные, локальные, временные, расширенные и удаленные. В SQL Server входят сотни системных и расширенных дур, предназначенных для выполнения различных задач, например для администрирования системы. Локальные хранимые едуры создаются в пользовательских базах данных. Как правило, их применяют для исполнения задач, требуемых для базы в которой они созданы. Временные хранимые процедуры выглядят и работают так же, как другие хранимые процедуры, но тстоянными. Они исчезают после завершения пользовательского соединения (или при завершении работы сервера). Удаленные хранимые процедуры оставлены в SQL Server 2000 для поддержания обратной совместимости, хотя в этой версии их заменили распределенные запросы.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |