Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разработка кода хранимой процедуры




Определение входных и выходных параметров хранимой процедуры.

Определение типа создаваемой хранимой процедуры.

Создание хранимых процедур

Созданию хранимой процедуры предшествует этап предварительной работы, в ходе которой необходимо найти ответы на следующие вопросы:

Помимо тех хра­нимых процедур, что создает пользователь в контексте собственной базы данных, существует также возможность создавать системные и временные процедуры. С точки зрения написания кода, эти хранимые процедуры мало отличаются друг от друга. Различие заключается в организации спо­соба хранения процедуры. Чтобы создать системную процедуру, необходи­мо дать ей название, начинающееся с префикса sp_, и сохранить ее в сис­темной базе данных master. Временные хранимые процедуры доступны пользователям в течение того времени, пока активно соединение, в кон­тексте которого эта процедура была создана. SQL Server позволяет созда­вать как локальные, так и глобальные временные процедуры, которые хра­нятся в базе данных tempdb. Локальные временные хранимые процедуры доступны только пользователю, работающему в контексте соединения, по­родившего данную процедуру. При определении хранимой процедуры та­кого типа необходимо дать ей имя, начинающееся с символа #. Глобальные временные хранимые процедуры доступны пользователям из любых сое­динений данного сервера. Имя глобальной временной процедуры начина­ется с символов ##.

Подобно процедурам, входящим в состав большинства языков программи­рования, хранимые процедуры могут иметь входные и выходные парамет­ры. SQL Server позволяет определить для одной хранимой процедуры до 1024 параметров. Полученные процедурой параметры могут использовать­ся как обыкновенные переменные Transact-SQL, участвуя в любых опера­циях наравне с другими переменными. По окончании выполнения кода хранимой процедуры вы можете передать некоторые полученные данные, используя выходные параметры. Может сложиться такая ситуация, что выполнение хранимой процедуры будет невозможно в силу каких-либо причин. Поэтому при определении хранимой процедуры необходимо про­думать, каким образом процедура будет информировать вызвавшее ее при­ложение об успешности выполнения своего кода.

Код процедуры может содержать последовательность любых команд Transact-SQL, включая вызов других хранимых процедур. Необходимо, однако, чтобы код реализовывал логи­чески законченное действие. Требуется очень серьезно подойти к написа­нию кода процедуры, поскольку плохо написанная хранимая процедура может существенным образом снизить эффективность системы, особенно если ею пользуется множество пользователей. Лучше всего предваритель­но протестировать код процедуры в Query Analyzer с использованием та­кого средства мониторинга, как SQL Server Profiler. Вместе эти утилиты предоставляют уникальные возможности для отладки запросов.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 303; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.