Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вызов хранимой процедуры  [new]
Shiro-kuro
Member

Откуда:
Сообщений: 77
помогите пожалуйста.=)
нужно сделать процедуру, которая удалит все данные об определенным человеке.но если с ним есть связанные заказы,удаление нужно будет отменить.возвращаемое значение должно определить успешность операции.
я сделал так процедуру.
CREATE PROCEDURE dbo.ud
@CustomerID int = 22, 
@Result int OUT

AS 
BEGIN 
IF EXISTS(SELECT * FROM [ORDER] WHERE IdCust = @CustomerID) 
BEGIN 
SET @Result = 0 
RETURN 
END 
else  
DELETE FROM Customer WHERE IdCust = @CustomerID 
SET @Result = 1 
END 


и так вызов:
DECLARE @Result int
EXEC dbo.ud  @Result OUTPUT 
PRINT 'результат выполнения: '


но вызов не работает...подскажите пожалуйста,где ошибки.=)
вот по этой таблице:

К сообщению приложен файл. Размер - 29Kb
16 ноя 12, 12:14    [13482909]     Ответить | Цитировать Сообщить модератору
 Re: вызов хранимой процедуры  [new]
Gwa
Guest
Shiro-kuro,
>> но вызов не работает..
Так прямо и говорит: "не работаю" ?
16 ноя 12, 12:20    [13482942]     Ответить | Цитировать Сообщить модератору
 Re: вызов хранимой процедуры  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Shiro-kuro,

EXEC dbo.ud  @Result = @Result OUTPUT
16 ноя 12, 12:20    [13482947]     Ответить | Цитировать Сообщить модератору
 Re: вызов хранимой процедуры  [new]
_djХомяГ
Guest
1 Вообще такие вещи (0/1) IMHO возвращать лучше через Return
2 А @result забыли в print оценить
16 ноя 12, 12:23    [13482958]     Ответить | Цитировать Сообщить модератору
 Re: вызов хранимой процедуры  [new]
_djХомяГ
Guest
с CustomerID тоже странно
CREATE PROCEDURE dbo.ud
@CustomerID int = 22,
16 ноя 12, 12:25    [13482969]     Ответить | Цитировать Сообщить модератору
 Re: вызов хранимой процедуры  [new]
iap
Member

Откуда: Москва
Сообщений: 47084
Действительно, первым по счёту идёт параметр @CustomerID, а не @Result.
Так что вызов без имени параметра написан неправильно.
16 ноя 12, 12:26    [13482976]     Ответить | Цитировать Сообщить модератору
 Re: вызов хранимой процедуры  [new]
iap
Member

Откуда: Москва
Сообщений: 47084
iap
Действительно, первым по счёту идёт параметр @CustomerID, а не @Result.
Так что вызов без имени параметра написан неправильно.
Фактически он получился таким:
EXEC dbo.ud @CustomerID=NULL
16 ноя 12, 12:28    [13482991]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить