рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Exec gateway.remotedb.dbo.remoteproc

Exec gateway.remotedb.dbo.remoteproc - раздел Программирование, ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР   Информацию О Том, Как Конфигурировать Локальный И Удаленный  ...

 

Информацию о том, как конфигурировать локальный и удаленный  серверы для выполнения удаленных процедур, можно посмотреть в Руководстве системного администратора. Из пакета или процедуры, содержащей оператор execute, вызывающий удаленную процедуру, можно передать в нее один или несколько значений в качестве параметров. Результаты выполнения процедуры на удаленном сервере появляются на локальном терминале пользователя.

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

 

Внимание: Вызовы удаленных процедур не являются частью транзакции. Поэтому, если вызов удаленной процедуры является частью транзакции, а затем транзакция откатывается назад, то любые изменения, которые  удаленная процедура произвела на удаленном сервере, не восстанавливаются.

   

Возврат информации из сохраненных процедур

 

Сохраненные процедуры сообщают свой «статус возврата», который указывает, была ли выполнена процедура полностью, или нет, а также  причины неудачи. Это значение может храниться в переменной, которая передается процедуре при ее вызове, и использоваться в последующих операторах Transact-SQL. SQL Сервер резервирует значения в диапазоне от -1 до -99 для кодов возврата ошибочных ситуаций, которые могут возникнуть при выполнении процедуры; а значения, находящиеся вне этого диапазона, пользователи могут использовать для определения своих статусов (кодов) возврата.

Другой способ возврата информации из сохраненных процедур состоит в возврате значений через выходные параметры. Параметры, определенные как выходные, в операторе create procedure (создать процедуру) или execute (выполнить) используются для возврата значений в место вызова процедуры. Затем с помощью условных операторов можно проверить возвращаемое значение.

Код возврата и выходные параметры позволяют разделить сохраненные процедуры на модули. Группа SQL операторов, которые используются несколькими сохраненными процедурами, могут быть объединены в  одну процедуру, которая сообщает свой статус выполнения или значения своих параметров вызывающей процедуре. Например, многие системные процедуры, поставляемые с SQL Сервером, обращаются к процедуре, которая проверяет являются ли указанные параметры правильными идентификаторами.

Вызовы удаленных процедур, которые являются сохраненными процедурами, выполняемыми на удаленном SQL Сервере, также возвращают  оба вида информации. Все рассмотренные выше примеры могут быть выполнены на удаленном сервере, если при вызове процедуры указать названия сервера, базы данных, имя владельца и название процедуры.

 

Коды возврата

 

Сохраненные процедуры могут возвращать целое число, которое называется кодом возврата(return status). Это число показывает, была ли процедура выполнена полностью или указывает на причины неудачного выполнения. SQL Сервер имеет набор заранее определенных кодов возврата. Пользователю может определить свои собственные коды возврата. Ниже приведен пример пакета, в котором оператор execute возвращает код состояния:

 

declare @status int

execute  @status = pub_info

select @status

 

Статус выполнения (код возврата) процедуры pub_info сохраняется в переменной @status. В этом примере код возврата просто выводится с помощью оператора select; в последующих примерах код возврата будет анализироваться с помощью условных конструкций.

 

Зарезервированные значения кодов возврата

 

SQL Сервер резервирует код 0 для указания успешного выполнения процедуры и значения в диапазоне от -1 до -99 для указания различных причин неудачи. В следующей таблице показаны коды возврата от 0 до -14 и даны их описания:

 

Таблица 14-1: Зарезервированные значения обратного статуса

 

Код Значение
Процедура выполнена без ошибок
-1 Отсутствует объект
-2 Ошибка в типе данных
-3 Прекращение выполнения процедуры для выхода из тупика
-4 Нарушение прав доступа
-5 Синтаксическая ошибка
-6 Ошибка пользователя
-7 Недостаток ресурсов, например, памяти
-8 Не фатальная внутренняя проблема
-9 Достижение системного предела
-10 Фатальная внутренняя проблема
-11 Фатальная внутренняя проблема
-12 Испорчена таблица или индекс
-13 Испорчена база данных
-14 Аппаратная ошибка

 

Кода от -15 до -99 зарезервированы для дальнейшего использования SQL Сервером.

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

 

Коды возврата пользователя

 

Пользователь может определить свои собственные коды возврата из сохраненных процедур, добавляя параметр в операторе return (возврат). Коды  от 0 до -99 зарезервированы SQL Сервером; остальные значения можно  использовать для определения своих кодов. В следующем примере возвращается 1, если книга имеет правильный код контракта, и 2 во всех остальных случаях:

create proc checkcontract @titleid tid

– Конец работы –

Эта тема принадлежит разделу:

ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР

На сайте allrefs.net читайте: "ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Exec gateway.remotedb.dbo.remoteproc

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Exec gateway...namelist
  Последний вариант будет работает только, если pubs2 является базой данных, заданной по умолчанию. Название базы данных является необязательным параметром только, есл

Showall
------------            5 (Выбрана 1 строка) ------------           88 (Выбрана 1 строка) ------------          349 &nbs

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, допустима только, если этот оператор является единственным в строке

From authors a, publishers p, titles t, titleauthor ta
where @pubname = p.pub_name and a.au_id = ta.au_id and t.title_id = ta.title_id and t.pub_id = p.pub_id

Exec pub_info
au_lname   au_fname      pub_name                                  --------------  ------------ -------------------- Green         Marjorie       Algodata   Infosystems          

Showind2
table_name  index_name    index_id -----------  -----------      --------- titles           titleidind          1 titles           titleind            2 (2 ro

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.. в самой сохраненной процедуре. Эти таблицы не удаляются

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги