|
Программирование >> Реализация баз данных
ных параметров. Каждому входному параметру, имя которого начинается с 1 , присваивается значение соответствующего входного параметра при ее исполнении. Затем выходные нпым, имена которгх начинаются , присваиваются значения выходных хранимой процедуры Check-ForDuplicateCustomer. Далее значения переменных используются в операторах PRINT. Эти операторы исполняются, если функции WCOUNT возвращает значение, отличное от 0. Проверка хранимых процедур 1, На панели Editor в окне Query виедите и исполните следующий код: DECLARE Code int EXECUTE @ir Code=dbo,AddCustorn3r * (aFirstNarie= Jamie. ©LastNania = itllrra. ©Phone = 425-555-1212. @Address1 = 20 Oak St., SE, @City = Remy, ©State = WA. giZip = 98888 IF ©- Code = 4 BEGIN PRINT database error las ocoured. Please contact the help desk for assistance. IF @r Code = 1 PRINT You must specify a value for the firstname or lastname ELSE IF @r Code = 2 PRINT You must specify a valte for the phone number ELSE IF @ir Cocle = 3 PRINT You must provide all address information. Street address, State and Zipcode ELSE IF Lar Cc)de = C<ilDENTlTY SELECT [Customer ID] = The nijw customer ID is: + C0NVERT(CHAR(2), @r Code) Хранимая процедура возвращает сообщение о том, что запись уже существует. 2. Измените значение параметра (FirstName на Jerf. а ©EastName - на Fellinge и снова исполните процедуру. Хранимая процедура возвращает сообщение с идентификатором нового покупателя. Резюме В хранимых процедурах можно использовать такие элементы программирования, как параметры, переменные, коды значения по умолчанию, вложенные процедуры и курсоры. Входные параметры передают процедуре данные, а выходные параметры получают данные от хранимой процедуры. Переменные используются для хранения выходных параметров. Выходные параметры определяют с помощью ключевого слова OUTPUT. Переменную задаю: посредством ключевого слова DECEARE. Коды возврата используются главным образом для обработки ощибок. Коды возврата передаются с помощью ключевого слова RETURN, после которого следует целое число. При вызове оператора RETURN происходит безусловный выход из программы. Если RETURN возвращает целое число, то во время исполнения процедуры оно переменной. Затем код возврата используется в условных операторах для перехода к соответствующей ветви программы. Для обнаружения ошибок базы данных служит функция ©©ERROR в совокупности с кодами возврата. Возникновения некоторых ошибок можно избежать, установив для параметров значения по умолчанию. Хранимая процедура должна служить для решения какой-либо одной задачи. Одну процедуру можно иызывап. из другой. Процедура, вызываемая из другой процедуры, называется вложенной. Хранимая процедура, которая вызывает сама себя, называется рекурсивной. Глубина вложенности процедур достигает 32 уровней. Мощной функцией SQL Server 2000 является возврат записей базы данных через курсоры. В хранимых процедурах можно создавать курсоры и вызывать их из исполняемой программы. Однако курсоры следует использовать только в случае крайней необходимости, поскольку неправильное их использование значительно влияет на производительность базы данных и сети. Закрепление материала Приведенные ниже вопросы помогут вам лучше усвоить основные темы данной главы. Если вы не сумеете ответить на вопрос, повторите материал соответствую-занятия и попытайтесь раз. Ответы для самопроверки вы найдете в приложении Вопросы и ответы . Вы создали локальную временную хранимую процедуру и попросили коллегу исполнить ее. Однако у него ничего не вышло. Каковы возможные причины неудачи? 2. Почему сложные хранимые при повторном запуске работают, как правило, быстрее, чем при первом запуске? 3. Какие средства защиты обеспечивают хранимые процедуры? 4. Какая функция позволяет проверить свойства хранимой процедуры и других SQL Server? 5. Почему модификация хранимой процедуры щьго ключевых слов ALTER PROCEDURE более эффективна, чем удаление процедуры с ее повторным созданием? 6. База данных Northwind установлена как текущая, и в ней создана хранимая процедура #Prnce(:hireftl Однако при проверке базы данных Northwind эта процедура не была найдена. Тем не менее процедуру запустить, если текущей базой данных является Nortliwind. Почему хранимая процедура запускается, но не обнаруживается в базе данных Northwind? 7. Какие три функции выполняет оператор RETURN в хранимых процедурах?
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |