Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Null Value eliminated / 5 сообщений из 5, страница 1 из 1
16.09.2019, 14:44
    #39862335
dermama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null Value eliminated
КОллеги добрый день.

Процедура работает не корректна. Однако значение вставляется в таблицу , если запускать ее посредством EXEC,
Однако значение не вставляется в таблицу если процедура запускается посредством JOBa

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
ALTER PROC record_new_date
AS
BEGIN

DECLARE @d datetime
SELECT @d = MAX (InDateTime) FROM server1.table1


INSERT INTO server1.table2
(
date,
balanceID,
InDateTIme
)
SELECT t1, *
FROM server1.table1       t1
LEFT JOIN server1.table2 t2     ON t1.indatetime = t2.indatetime
WHERE t1.indatetime = @d AND t2.indatetitme IS NULL

END
GO



Если просто выполнить часть кода

DECLARE @d datetime
SELECT @d = MAX (InDateTime) FROM server1.table1
PRINT @d

то появляется сообщение WARNING null value is eliminated by an aggregate or other SET operation
SEP 16 2019 2:10 PM

как видно дату выводит но с предупреждением. Подскажите пожалуйста, что может быть???

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

Заранее благодарен.
...
Рейтинг: 0 / 0
16.09.2019, 14:49
    #39862341
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null Value eliminated
Код: sql
1.
SELECT TOP (1) @d = InDateTime FROM server1.table1 ORDER BY InDateTime DESC
...
Рейтинг: 0 / 0
16.09.2019, 15:43
    #39862373
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null Value eliminated
SELECT @d = MAX (InDateTime) FROM server1.table1 where InDateTime is not null
...
Рейтинг: 0 / 0
16.09.2019, 15:46
    #39862377
dermama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null Value eliminated
Konst_One
Код: sql
1.
SELECT TOP (1) @d = InDateTime FROM server1.table1 ORDER BY InDateTime DESC


Добрый день. Такой вариант не подходит так как в таблице следующие значения

Date balanceID InDateTIme
2019-09-16 NULL NULL
2019-09-15 NULL NULL
2019-09-14 2100 2019-09-16 14:10:36:037

и по вашему запросу я получаю NULL , а необходимо залогировать значение 2019-09-16 14:10:36:037 (MAX(InDateTime)


Небольшое уточнение. На другом сервере эта процедура работает отлично. С той лишь разницей, что запись идет в другую тблицу - столбцы одни и теже, процедура такая же.
...
Рейтинг: 0 / 0
16.09.2019, 15:48
    #39862380
dermama
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Null Value eliminated
LepsikSELECT @d = MAX (InDateTime) FROM server1.table1 where InDateTime is not null


Коллега, благодарю - работает прекрасно.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Null Value eliminated / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]