Showind2 - раздел Программирование, ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР Table_Name Index_Name Index_Id
----------- ----------- --...
table_name index_name index_id
----------- ----------- ---------
titles titleidind 1
titles titleind 2
(2 rows affected, return status =0)
Если в процедуре предусмотрен параметр, но он не указан, и в операторе create procedure для этого параметра не указано никакого значения по умолчанию, то SQL Сервер выводит сообщение об ошибке и перечисляет параметры, которые должны быть заданы.
NULL как значения по умолчанию для параметра
Значение по умолчанию может быть неопределенным (NULL). В этом случае, если пользователь не указывает параметр, то SQL Сервер не выдает сообщения об ошибке и выполняет сохраненную процедуру.
В определении процедуры может быть указано действие, которое должно быть выполнено в том случае, если пользователь не указал значения параметра, т.е. когда это значение является неопределенным, как, например, в следующей процедуре:
Если пользователь забыл ввести значения параметра, то SQL Сервер выведет на экран указанное в процедуре сообщение.
Другие примеры установки неопределенного значения в качестве значения по умолчанию можно увидеть в тексте системных процедур с помощью процедуры sp_helptext.
Символы замены в значениях по умолчанию параметров
Если в процедуре используется параметр с ключевым словом like, то значение по умолчанию может содержать символы замены (%, _, [] и [^]).
В следующем примере процедура showind изменена таким образом, чтобы она выдавала информацию о системных таблицах, если пользователь не указал название таблицы в качестве параметра:
Exec gateway...namelist
Последний вариант будет работает только, если pubs2 является базой данных, заданной по умолчанию.
Название базы данных является необязательным параметром только, есл
Sp_helptext showall
# Lines of Text
---------------
1
(1 row affected)
text
----------------------------- ----------
create procedure showall as
Sp_recompile titles
Более детально о команде sp_recompile можно узнать из Справочного руководства SQL Сервера.
Создание и выполнение сохраненн
Au_info Ringer, Anne
au_lname au_fname title pub_name
-------- -------- --------------------- ----------
Ringer Anne The Gourmet Microwave Binnet &
Showind titles
Последняя синтаксическая форма, не содержащая ключевого слова exec или execute, допустима только, если этот оператор является единственным в строке
Au_info2
au_lname au_fname title pub_name
-------- ------- ------------------------- -------------
Dull Ann Secrets
Au_info2 Ringer
au_lname au_fname title Pub_name
-------- -------- --------------------- ------------
Ringer Anne The Gourmet Microwa
Drop proc orders;2
Конструкция recompile в операторе create procedure
В операторе создания процедуры create procedure необязательна
Exec inv_amounts
Можно создавать временные таблицы без префикса #, используя оператор create table tempdb..tablename.. в самой сохраненной процедуре. Эти таблицы не удаляются
Exec gateway.remotedb.dbo.remoteproc
Информацию о том, как конфигурировать локальный и удаленный серверы для выполнения удаленных процедур, можно посмотреть в Руководстве системного администратора. Из
Get_au_stat «MC2222»
Contract is valid
Проверка прав доступа в процедурах
Если сохраненная процедура выполняет задачу систем
return 0
Возвращаемые параметры
Если в операторах create procedure и execute указывается опция output
Mathtutor 5,6,32
(return status=0)
Значение параметра, определенного с опцией output, должно передаваться через переменную, а не через константу. В следующ
Create procedure
· · Другие объекты базы данных можно создавать внутри процедуры. К объекту базы данных можно обратиться внутри этой же процедуры, если он был создан до того как к нему обратились. П
On mary.marytab(col1)
Дело в том, что названия объектов уточняются во время выполнения процедуры. Если название таблицы marytab не расширить, то при выполнении процедуры пользователем c именем “Дж
Sp_rename showall, countall
Безусловно, новое название должно соответствовать правилам, установленным для идентификаторов. Пользователю разрешается изменять название только своих процедур. Владельцу базы данн
Sp_help byroyalty
Name Owner type Created_on
-------- ------ ---------------- -------------------
byroyalty dbo stor
Sp_helptext byroyalty
# Lines of Text
---------------
1
(1 row affected)
text
---------------------------------------------------
create procedure b
Sp_depends titleauthor
Things inside the current database that reference the object.
object type
-------------- ------------------
dbo.titleview view
dbo.re
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов