русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Возвращаемые значения


Дата добавления: 2013-12-23; просмотров: 1031; Нарушение авторских прав


Пример использования выходных параметров

Характеристики Выходных параметров

Введение

Выходные параметры и Возвращаемые значения

Использование значения по умолчанию для параметра

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

■ Не определено никакое значение для параметра, когда хранимая процедура выполняется.

■ Определено ключевое слово DEFAULT как значение параметра.

 

 

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

Выходные параметры позволяют любые изменения параметра, которые сохраняются в результате выполнения хранимой процедуры, и они будут сохранены даже после того, как хранимая процедура завершит выполнение. Чтобы использовать выходной параметр в Transact-SQL, Вы должны определить ключевое слово OUTPUT в операторах CREATE PROCEDURE и EXECUTE. Если ключевое слово OUTPUT опущено при вызове хранимой процедуры, то она выполняет все вычисления, но не возвращает измененное значение. В большинстве клиентских языках программирования, таких как Microsoft Visual C#®, по умолчанию параметр является входным, таким образом Вы должны указать назначение параметра в клиенте.

Следующий пример создает хранимую процедуру, которая добавляет новый отдел в таблицуHumanResources.Departmentбазы данных AdventureWorks.

CREATE PROC HumanResources.AddDepartment

@Name nvarchar(50), @GroupName nvarchar(50),

@DeptID smallint OUTPUT

AS

INSERT INTO HumanResources.Department (Name, GroupName)

VALUES (@Name, @GroupName)

SET @DeptID = SCOPE_IDENTITY()

Выходной параметр @DeptIDсохраняет идентификатор новой записи, с помощью вызова функции SCOPE_IDENTITY для того, чтобы вызывающее приложение могло немедленно обратиться по автоматически сгенерированному идентификационному номеру.



Следующий пример показывает, как вызывающее приложение может сохранить результаты выполнения хранимой процедуры, используя локальную переменную @dept.

DECLARE @dept int

EXEC AddDepartment 'Refunds', '', @dept OUTPUT

SELECT @dept

 

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

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

ALTER PROC HumanResources.AddDepartment

@Name nvarchar(50), @GroupName nvarchar(50),

@DeptID smallint OUTPUT

AS

IF ((@Name = '') OR (@GroupName = ''))

RETURN -1

INSERT INTO HumanResources.Department (Name, GroupName)

VALUES (@Name, @GroupName)

 

SET @DeptID = SCOPE_IDENTITY()

RETURN 0

 

Если в процедуру передается пустая строка или для @Nameили для @GroupName, товозвращается значение параметра -1, чтобы указать ошибку. Если оператор INSERT успешно выполняется, то возвращается 0.

Следующий пример показывает, как вызывающее приложение может сохранить результат выполнения хранимой процедуры при использовании локальной переменной @result.

DECLARE @dept int, @result int

EXEC @result = AddDepartment 'Refunds', '', @dept OUTPUT

IF (@result = 0)

SELECT @dept

ELSE

SELECT 'Error during insert'

 

Заметьте, чтоSQL Server автоматически возвращает 0из хранимых процедур, если Вы не определяете свое собственное значение RETURN.




<== предыдущая лекция | следующая лекция ==>
Вызов параметризованных хранимых процедур | Создание скалярной функции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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