Чтение онлайн

на главную

Жанры

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

3. Введите текст хранимой процедуры, который показан на рис. 3.18.

РИС. 3.18. Диалоговое окно создания новой хранимой процедуры Stored Procedure Properties в программе SQL Server Enterprise Manager

4. После выполнения этих действий щелкните на кнопке OK в нижней части диалогового окна Stored Procedure Properties.

Запуск хранимых процедур в окне программы SQL Query Analyzer

Для

запуска хранимых процедур (а также представлений и других команд SQL) можно воспользоваться программой SQL Query Analyzer. Таким образом можно протестировать созданную хранимую процедуру или представление. Для запуска хранимой процедуры в окне программы SQL Query Analyzer выполните приведенные ниже действия.

1. В окне программы SQL Server Enterprise Manager выберите команду Tools→SQL Query Analyzer (Сервис→SQL Query Analyzer); запустится программа SQL Query Analyzer.

2. В диалоговом окне Query введите имя хранимой процедуры, которую нужно запустить. Например, для запуска хранимой процедуры, описанной в предыдущем разделе, введите procEmployeesSorted.

3. Выполните запрос, нажав клавишу <F5> или щелкнув на кнопке Execute Query. Хранимая процедура будет выполнена и возвратит (при наличии данных в таблице) результирующий набор во вкладке Grids (или во вкладке Results).

4. В окне Microsoft SQL Servers программы SQL Server Enterprise Manager выберите папку Stored Procedures для проверки наличия только что созданной хранимой процедуры. Здесь для обновления содержимого консольного окна, возможно, понадобится щелкнуть на кнопке Refresh (Обновить).

Конечно, хранимую процедуру можно запустить, непосредственно запуская программу SQL Query Analyzer, и для этого совсем не обязательно запускать ее изнутри программы SQL Server Enterprise Manager.

Создание хранимой процедуры с помощью программы SQL Query Analyzer

Процесс создания хранимой процедуры с помощью SQL Query Analyzer практически не отличается от аналогичного процесса в окне программы SQL Server Enterprise Manager.

НА ЗАМЕТКУ

Убедитесь в том, что хранимая процедура создается в базе данных Novelty. Довольно часто разработчики забывают переключиться на нужную базу данных (с помощью команды USE или списка баз данных в программе SQL Query Analyzer) до выполнения команд по отношению к ней. Создание хранимых процедур с помощью программы SQL Server Enterprise Manager только усугубляет последствия этой ошибки.

Для создания хранимой процедуры с помощью программы SQL Query Analyzer используйте команду CREATE PROCEDURE.

1. В окне программы SQL Query Analyzer введите следующий код:

CREATE PROCEDURE GetCustomerFromID @custID int

AS

SELECT * FROM tblCustomer

WHERE ID = @custID

2. В этом коде создается хранимая процедура GetCustomerFromID, которая принимает аргумент @custID и возвращает запись, в поле ID которой находится значение, совпадающее со значением аргумента @custID (поскольку поле ID в таблице tblCustomer является первичным

ключом, эта процедура всегда будет возвращать либо нуль, либо одну запись).

3. Выполните введенную команду для создания хранимой процедуры.

4. Теперь необходимо протестировать созданную хранимую процедуру в окне Query. Для этого попробуйте извлечь запись из таблицы, введя следующую команду:

GetCustomerFromID 22

5. Сервер вернет запись клиента с идентификационным номером 22 (рис. 3.19). Использование другого идентификационного номера в качестве параметра этой хранимой процедуры позволит вернуть другую запись с данными о другом клиенте.

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

РИС. 3.19. Запись клиента возвращается с помощью хранимой процедуры GetCustomerFromID

НА ЗАМЕТКУ

Теперь можно приступить к загрузке данных в таблицу. В прилагаемых к книге файлах (их вы можете найти на Web-узле Издательского дома "Вильяме" по адресу: находится текстовый файл CustomerData.sql, который предназначен для загрузки данных о клиенте в базу данных Novelty. Кроме него, этому адресу располагаются и другие сценарии загрузки данных в таблицы базы данных Novelty.

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

Для отображения кода представлений или хранимых процедур можно использовать хранимую процедуру sp_helptext. Для того чтобы отобразить эти данные, необходимо ввести команду sp_helptext, а затем имя интересующего вас объекта базы данных. После этого SQL Server возвратит полный текст представления или хранимой процедуры. Рассмотрим пример отображения текста представления Employee_view, создание которого описано в предыдущих разделах.

1. В окне Query программы SQL Query Analyzer введите следующую команду:

sp_helptext Employee_view

2. Выполните введенную команду, нажав клавишу <F5> или щелкнув на кнопке Execute Query панели инструментов программы SQL Query Analyzer. В результате выполнения этой команды SQL Server вернет текст хранимой процедуры во вкладке Grids (рис. 3.20).

РИС. 3.20. Отображение текста представления с помощью хранимой процедуры sp_helptext

Создание триггеров

Триггер (trigger) — это особый тип хранимой процедуры, который выполняется при доступе к данным в таблице. Понятие триггера в SQL Server аналогично понятию процедуры события в Visual Basic: триггер выполняется при обновлении, удалении или вставке данных в таблицу.

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

Поделиться:
Популярные книги

Энфис 6

Кронос Александр
6. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 6

Сердце Дракона. Предпоследний том. Часть 1

Клеванский Кирилл Сергеевич
Сердце дракона
Фантастика:
фэнтези
5.00
рейтинг книги
Сердце Дракона. Предпоследний том. Часть 1

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Под маской, или Страшилка в академии магии

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.78
рейтинг книги
Под маской, или Страшилка в академии магии

Мой любимый (не) медведь

Юнина Наталья
Любовные романы:
современные любовные романы
7.90
рейтинг книги
Мой любимый (не) медведь

Академия

Кондакова Анна
2. Клан Волка
Фантастика:
боевая фантастика
5.40
рейтинг книги
Академия

Играть, чтобы жить. Книга 3. Долг

Рус Дмитрий
3. Играть, чтобы жить
Фантастика:
фэнтези
киберпанк
рпг
9.36
рейтинг книги
Играть, чтобы жить. Книга 3. Долг

Виконт. Книга 4. Колонист

Юллем Евгений
Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.50
рейтинг книги
Виконт. Книга 4. Колонист

Вечный Данж. Трилогия

Матисов Павел
Фантастика:
фэнтези
юмористическая фантастика
6.77
рейтинг книги
Вечный Данж. Трилогия

Мужчина не моей мечты

Ардова Алиса
1. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.30
рейтинг книги
Мужчина не моей мечты

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Истинная со скидкой для дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Истинная со скидкой для дракона

Волк 7: Лихие 90-е

Киров Никита
7. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 7: Лихие 90-е

Кровь Василиска

Тайниковский
1. Кровь Василиска
Фантастика:
фэнтези
попаданцы
аниме
4.25
рейтинг книги
Кровь Василиска