Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
BlackRainBow
Member

Откуда:
Сообщений: 8
Доброго времени суток. Возникла такая проблема - выдается вот такое сообщение об ошибке. Текст процедуры:


ALTER PROCEDURE spAddTovToDocPrd
@iDocID integer, -- Идентификатор документа
@iTovID integer, -- Идентификатор товара
@nKol numeric(15,3) output, -- Количество
@lRez bit output -- 0 в случае ошибки, 1 - в остальных случаях.
AS
-- Процедура добавляет строку в передаточный документ с проверкой остатков
declare @nCurKol numeric(15,3) -- остаток текущей партии (см. цикл)
declare @nKolSum numeric(15,3) -- текущий остаток запрашиваемого товара
declare @iPrtID integer -- идентификатор партии
declare @cErrMess varchar(512) -- описание ошибки
declare @iOrgID integer -- идентификатор организации
declare @iOtdID integer -- идентификатор отпускающего отдела
declare @yCena money -- приходная цена партии

--сколько числится
select @iOrgID=iOrgOtpID, @iOtdID=iOtdOtpID from dbo.documents where iDocID=@iDocID

select @nKolSum = isnull(sum(t.nkolsum), 0)-isnull(sum(o.nkolsum), 0) from dbo.tvotdost t
left join dbo.TvOtdDetRash o on o.iOtdID=t.iOtdID and o.iTovID=t.iTovID
where t.iOtdID = @iOtdID and t.nkolsum > 0 and t.iTovID = @iTovID

if @nKol > @nKolSum
begin
set @cErrMess = 'Товара числится меньше запрашиваемого количества.'
set @nKol = @nKolSum
set @lRez = 0
raiserror(@cErrMess, 16, 1)
return 1
end
else
--не интересно )

Ошибка выдается при исполнении команды raiserror(@cErrMess, 16, 1)

Кто сталкивался и как это победить ?
14 июл 06, 12:11    [2880785]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
pavel73
Member

Откуда:
Сообщений: 804
BlackRainBow
Доброго времени суток. Возникла такая проблема - выдается вот такое сообщение об ошибке. Текст процедуры:


ALTER PROCEDURE spAddTovToDocPrd
@iDocID integer, -- Идентификатор документа
@iTovID integer, -- Идентификатор товара
@nKol numeric(15,3) output, -- Количество
@lRez bit output -- 0 в случае ошибки, 1 - в остальных случаях.
AS
-- Процедура добавляет строку в передаточный документ с проверкой остатков
declare @nCurKol numeric(15,3) -- остаток текущей партии (см. цикл)
declare @nKolSum numeric(15,3) -- текущий остаток запрашиваемого товара
declare @iPrtID integer -- идентификатор партии
declare @cErrMess varchar(512) -- описание ошибки
declare @iOrgID integer -- идентификатор организации
declare @iOtdID integer -- идентификатор отпускающего отдела
declare @yCena money -- приходная цена партии

--сколько числится
select @iOrgID=iOrgOtpID, @iOtdID=iOtdOtpID from dbo.documents where iDocID=@iDocID

select @nKolSum = isnull(sum(t.nkolsum), 0)-isnull(sum(o.nkolsum), 0) from dbo.tvotdost t
left join dbo.TvOtdDetRash o on o.iOtdID=t.iOtdID and o.iTovID=t.iTovID
where t.iOtdID = @iOtdID and t.nkolsum > 0 and t.iTovID = @iTovID

if @nKol > @nKolSum
begin
set @cErrMess = 'Товара числится меньше запрашиваемого количества.'
set @nKol = @nKolSum
set @lRez = 0
raiserror(@cErrMess, 16, 1)
return 1
end
else
--не интересно )

Ошибка выдается при исполнении команды raiserror(@cErrMess, 16, 1)

Кто сталкивался и как это победить ?


А где текст ошибки?
14 июл 06, 12:15    [2880821]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35965
Это не ошибка, а варнинг. И не должна выдаваться при raiserror'е.
14 июл 06, 12:16    [2880827]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Noskov
Member

Откуда: Москва
Сообщений: 394
Выдает сообщение не raiserror, а select. Переведи его на русский и сразу станет все понятно.
14 июл 06, 12:22    [2880867]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
BlackRainBow
Member

Откуда:
Сообщений: 8
1. Текст ошибки в названии темы. Процитирую еще раз
Warning: Null value is eliminated by an aggregate or other SET operation.

2.Не должно понятное дело, но выдается. Факты вещь упрямая.. :-)
14 июл 06, 12:23    [2880870]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35965
BlackRainBow
1. Текст ошибки в названии темы. Процитирую еще раз
Warning: Null value is eliminated by an aggregate or other SET operation.

Еще раз: это не ошибка.
BlackRainBow

2.Не должно понятное дело, но выдается. Факты вещь упрямая.. :-)

"Часто на проверку очевидные факты оказываются не только неочевидными, но и не фактами вовсе." (с) не мой.
14 июл 06, 12:25    [2880889]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2788
Переделай на:
sum(isnull(t.nkolsum,0))-sum(isnull(o.nkolsum,0))
14 июл 06, 12:26    [2880890]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
BlackRainBow
Member

Откуда:
Сообщений: 8
Не селект, а раизеррор. По шагам проходил процедуру, комментировал райзеррор - все говорит о том что на нем такая ошибка или ворнинг вылетает. И неважно что это такое - потому что в адо вместо 50000 ошибки возвращается 8153. И естественно клиент работает не так как надо.
14 июл 06, 12:26    [2880894]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
BlackRainBow
Member

Откуда:
Сообщений: 8
Prolog
Переделай на:
sum(isnull(t.nkolsum,0))-sum(isnull(o.nkolsum,0))


Да, благодарю, проблема была в этом. Просто варнинг не прерывает выполнения процедуры, а адо потом берет первое сообщение и показывает.
Не выспался и туплю теперь ))
14 июл 06, 12:29    [2880916]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10894

Делается еще проще!
SET ANSI_WARNINGS OFF



Posted via ActualForum NNTP Server 1.3

14 июл 06, 13:03    [2881136]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35965
RENaissance

Делается еще проще!
SET ANSI_WARNINGS OFF


Posted via ActualForum NNTP Server 1.3

Не всегда может подойти. Да и потом, мое imho, лучше избавляться от причины варнингов, а не гасить их.
14 июл 06, 13:29    [2881309]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 49866
Сорри за некропостинг

Это сообщение кому-то когда-то помогло в работе?
И в каких ситуациях?


С уважением, Андрей
25 янв 18, 15:12    [21138689]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5891
andreymx
Сорри за некропостинг

Это сообщение кому-то когда-то помогло в работе?
И в каких ситуациях?


С уважением, Андрей

соц. опрос? или какой вообще смысл?
25 янв 18, 15:18    [21138720]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Гигабайт Мегабайтович Килобайтов
Member [заблокирован]

Откуда:
Сообщений: 5975
TaPaK, andreymx начинающий в ms sql
Что конкретно тебя интересует с этим варнингом? ))
25 янв 18, 16:01    [21138904]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 49866
Гигабайт Мегабайтович Килобайтов
TaPaK, andreymx начинающий в ms sql
да, спасибо за понимание

Гигабайт Мегабайтович Килобайтов
Что конкретно тебя интересует с этим варнингом? ))
эксель слетел, когда в данных налл появился
приходится давить или isnull писать

вот и думаю - в чём его ценность такого сообщения. Хоть кому-то оно помогло? Тогда будет не так обидно :)
25 янв 18, 16:14    [21138951]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5891
andreymx,

а эксель при чём?
"давить" это как?

По сабжу сообщение при группировке, так что если в данных есть, а её нет, то давить
25 янв 18, 16:16    [21138968]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 49866
TaPaK
andreymx,

а эксель при чём?
"давить" это как?

По сабжу сообщение при группировке, так что если в данных есть, а её нет, то давить
эксель при работе через АДО воспринимает месседж как ошибку и оказывается работать дальше
25 янв 18, 16:24    [21139003]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5891
andreymx,

2881136
25 янв 18, 16:27    [21139019]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 49866
TaPaK
andreymx,

2881136
это я и сделал
но не чувствую, где оно еще нагадит
25 янв 18, 16:30    [21139037]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 5891
andreymx
TaPaK
andreymx,

2881136
это я и сделал
но не чувствую, где оно еще нагадит

какой нечувствительный...
тогда ISNULL()
25 янв 18, 16:32    [21139053]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6188
В целом, наличие NULL при агрегировании говорит о каких-то косяках в архитектуре.
Можно его солидолом смазать, но задуматься стоит.
26 янв 18, 19:02    [21142624]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 49866
Владислав Колосов
В целом, наличие NULL при агрегировании говорит о каких-то косяках в архитектуре
с 2003-го пишу запросы, но первый раз такое слышу
26 янв 18, 19:57    [21142682]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8475
Тока что заюзал
PS реально заюзал "SET ANSI_WARNINGS OFF" - сообщение просто мешает ...
7 фев 19, 05:37    [21803182]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3526
юзайте оракл хлопцы..... он на такие варниги болт клал
7 фев 19, 09:48    [21803233]     Ответить | Цитировать Сообщить модератору
 Re: Warning: Null value is eliminated by an aggregate or other SET operation.  [new]
iap
Member

Откуда: Москва
Сообщений: 46590
SIMPLicity_
Тока что заюзал Картинка с другого сайта.
PS реально заюзал "SET ANSI_WARNINGS OFF" - сообщение просто мешает ...
Бывают ситуации (довольно часто), когда ТРЕБУЕТСЯ ANSI_WARNINGS ON !
И как вы тогда выйдете из положения?
Заменяйте NULL внутри агрегатных функций на 0 - это реально помогает.
7 фев 19, 10:02    [21803246]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить