Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET) / 25 сообщений из 25, страница 1 из 1
18.09.2019, 16:29
    #39863421
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Здравствуйте!

Запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SELECT 
	s.N_Code
	, Squar.N_Square as Общая
	, CONVERT(Decimal(10,2), u.total_square) as total_square
FROM Temp_IF_update_rooms_reg_square u
JOIN dbo.SD_Subscr s
	on u.nom_ls = s.N_Code
JOIN dbo.ED_Registr_Pts RP
	ON S.F_Division	= RP.F_Division 
	AND S.LINK = RP.F_Subscr
JOIN dbo.ED_Network_Pts NP
	ON NP.LINK = RP.F_Network_Pts
JOIN dbo.SD_Conn_Points CP										
	ON CP.LINK	= NP.F_Conn_Points
JOIN [dbo].[SD_Contract_Squares]  Squar
	ON Squar.LINK = CP.F_Conn_Points_Squares
WHERE
	CONVERT(Decimal(10,2), u.total_square) <> Squar.N_Square
	AND s.N_Code = 602040014818


Выдает строку:
автор602040014818 150.00 75.00
То есть есть расхождения в площадях объектов и надо сделать update, чтобы в Squar.N_Square оказалось значение CONVERT(Decimal(10,2), u.total_square)
Но update:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
UPDATE Squar
	SET Squar.N_Square = CONVERT(Decimal(10,2), u.total_square)
FROM Temp_IF_update_rooms_reg_square u
JOIN dbo.SD_Subscr s
	on u.nom_ls = s.N_Code
JOIN dbo.ED_Registr_Pts RP
	ON S.F_Division	= RP.F_Division 
	AND S.LINK = RP.F_Subscr
JOIN dbo.ED_Network_Pts NP
	ON NP.LINK = RP.F_Network_Pts
JOIN dbo.SD_Conn_Points CP
	ON CP.LINK	= NP.F_Conn_Points
JOIN [dbo].[SD_Contract_Squares]  Squar
	ON Squar.LINK = CP.F_Conn_Points_Squares
WHERE
	CONVERT(Decimal(10,2), u.total_square) <> Squar.N_Square
	AND s.N_Code = 602040014818


ничего не обновляет. Возвращается в ответ такое:
авторВнимание! Значение NULL исключено в агрегатных или других операциях SET.

(1 row affected)
Как все-таки провести update?
...
Рейтинг: 0 / 0
18.09.2019, 16:33
    #39863423
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Борис Гаркунничего не обновляет. Возвращается в ответ такое:
авторВнимание! Значение NULL исключено в агрегатных или других операциях SET.

(1 row affected)а что означает строка
(1 row affected)
...
Рейтинг: 0 / 0
18.09.2019, 16:35
    #39863426
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
CONVERT(Decimal(10,2), u.total_square) <> Squar.N_Square

у тебя в обоих сторонах предиката NOT NULL ?
...
Рейтинг: 0 / 0
18.09.2019, 16:36
    #39863428
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
andreymxа что означает строка
(1 row affected)
"1 строка затронута" если переводить. Но фактически обновления не происходит(если выполнить первый запрос, он возвращает строку). Как такое может быть?
...
Рейтинг: 0 / 0
18.09.2019, 16:36
    #39863429
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Борис Гаркун,

это не ошибка, а предупреждение
...
Рейтинг: 0 / 0
18.09.2019, 16:38
    #39863430
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
TaPaKБорис Гаркун,
это не ошибка, а предупреждение
Спасибо. А почему не происходит обновления значения в Squar.N_Square?
...
Рейтинг: 0 / 0
18.09.2019, 16:41
    #39863431
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
andreymxу тебя в обоих сторонах предиката NOT NULL ?
да. иначе бы не было строки
автор602040014818 150.00 75.00
...
Рейтинг: 0 / 0
18.09.2019, 16:42
    #39863433
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Temp_IF_update_rooms_reg_square - это что у вас? код в студию
...
Рейтинг: 0 / 0
18.09.2019, 16:43
    #39863435
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
а у вас нет триггера на обновляемой таблице?
...
Рейтинг: 0 / 0
18.09.2019, 16:44
    #39863438
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Shakillа у вас нет триггера на обновляемой таблице?
и таблица ли это вообще :)
...
Рейтинг: 0 / 0
18.09.2019, 16:44
    #39863439
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Konst_OneTemp_IF_update_rooms_reg_square - это что у вас? код в студию:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
CREATE TABLE [dbo].[Temp_IF_update_rooms_reg_square](
	[LINK] [int] IDENTITY(1,1) NOT NULL,
	[SESSION_ID] [uniqueidentifier] NULL,
	[1] [varchar](8000) NULL,
	[nom_ls] [varchar](8000) NULL,
	[adres] [varchar](8000) NULL,
	[fio] [varchar](8000) NULL,
	[date_birth] [varchar](8000) NULL,
	[place_birth] [varchar](8000) NULL,
	[vid_doka] [varchar](8000) NULL,
	[seria] [varchar](8000) NULL,
	[nomer] [varchar](8000) NULL,
	[kem] [varchar](8000) NULL,
	[kod_podr] [varchar](8000) NULL,
	[issue_date] [varchar](8000) NULL,
	[13] [varchar](8000) NULL,
	[14] [varchar](8000) NULL,
	[15] [varchar](8000) NULL,
	[16] [varchar](8000) NULL,
	[17] [varchar](8000) NULL,
	[18] [varchar](8000) NULL,
	[19] [varchar](8000) NULL,
	[20] [varchar](8000) NULL,
	[21] [varchar](8000) NULL,
	[22] [varchar](8000) NULL,
	[total_square] [varchar](8000) NULL,
	[rooms_number] [varchar](8000) NULL,
	[reg_number] [varchar](8000) NULL,
	[26] [varchar](8000) NULL,
	[27] [varchar](8000) NULL,
	[28] [varchar](8000) NULL,
	[serial_number] [varchar](8000) NULL,
	[30] [varchar](8000) NULL,
	[31] [varchar](8000) NULL,
	[32] [varchar](8000) NULL,
	[33] [varchar](8000) NULL,
	[34] [varchar](8000) NULL,
	[35] [varchar](8000) NULL,
	[36] [varchar](8000) NULL,
	[37] [varchar](8000) NULL,
	[38] [varchar](8000) NULL,
 CONSTRAINT [PK_Temp_IF_update_rooms_reg_square] PRIMARY KEY CLUSTERED 
(
	[LINK] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 75) ON [Data]
) ON [Data]
...
Рейтинг: 0 / 0
18.09.2019, 16:47
    #39863441
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Борис Гаркун,

непонятно зачем оратору таблица Temp_IF_update_rooms_reg_square , нужно SD_Contract_Squares + наличие триггеров
...
Рейтинг: 0 / 0
18.09.2019, 16:49
    #39863442
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
попробуйте сначала в переменную получить ваш total_square из этой табличке по nom_ls , а уже в update переменную подставляйте
...
Рейтинг: 0 / 0
18.09.2019, 16:52
    #39863444
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Konst_Oneпопробуйте сначала в переменную получить ваш total_square из этой табличке по nom_ls , а уже в update переменную подставляйте

И обязательно выполнять при этом магические па.
...
Рейтинг: 0 / 0
18.09.2019, 16:54
    #39863445
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
в целях отладки и понимания, что идёт не так
msLexKonst_Oneпопробуйте сначала в переменную получить ваш total_square из этой табличке по nom_ls , а уже в update переменную подставляйте

И обязательно выполнять при этом магические па.
...
Рейтинг: 0 / 0
18.09.2019, 16:59
    #39863447
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Shakillа у вас нет триггера на обновляемой таблице?
целых 4. Отключить триггеры на момент update?
...
Рейтинг: 0 / 0
18.09.2019, 17:00
    #39863448
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
msLexи таблица ли это вообще :)
таблица
...
Рейтинг: 0 / 0
18.09.2019, 17:02
    #39863450
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Konst_Oneпопробуйте сначала в переменную получить ваш total_square из этой табличке по nom_ls , а уже в update переменную подставляйте
научите как это сделать, пожалуйста
...
Рейтинг: 0 / 0
18.09.2019, 17:09
    #39863453
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Код: sql
1.
2.
declare @total decimal(10,2);
set @total = (select CONVERT(Decimal(10,2), u.total_square) FROM Temp_IF_update_rooms_reg_square u where u.nom_ls = '602040014818');
...
Рейтинг: 0 / 0
18.09.2019, 17:11
    #39863455
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Konst_One, спасибо. Не прошло
...
Рейтинг: 0 / 0
18.09.2019, 17:17
    #39863459
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Борис ГаркунShakillа у вас нет триггера на обновляемой таблице?
целых 4. Отключить триггеры на момент update?
ну сначала можно прочитать их и выяснить, происходит ли в них подмена значения N_Square при обновлении
...
Рейтинг: 0 / 0
18.09.2019, 17:22
    #39863463
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Борис ГаркунShakillа у вас нет триггера на обновляемой таблице?
целых 4. Отключить триггеры на момент update?Триггеры же сделаны не просто так, а с какой то целью.
Нужно выяснить, зачем они, и, если не нужны, то удалить, а если нужны, то поправить ошибку.
...
Рейтинг: 0 / 0
18.09.2019, 17:23
    #39863464
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
alexeyvgБорис Гаркунпропущено...

целых 4. Отключить триггеры на момент update?Триггеры же сделаны не просто так, а с какой то целью.
Нужно выяснить, зачем они, и, если не нужны, то удалить, а если нужны, то поправить ошибку.
или в действительности никакой ошибки нет, а такой update не должен проходить
...
Рейтинг: 0 / 0
18.09.2019, 17:35
    #39863471
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
Борис ГаркунShakillа у вас нет триггера на обновляемой таблице?
целых 4. Отключить триггеры на момент update?Какие же это триггеры? Секрет? Интересуют-то только на UPDATE.
...
Рейтинг: 0 / 0
18.09.2019, 17:36
    #39863473
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET)
msLexalexeyvgпропущено...
Триггеры же сделаны не просто так, а с какой то целью.
Нужно выяснить, зачем они, и, если не нужны, то удалить, а если нужны, то поправить ошибку.
или в действительности никакой ошибки нет, а такой update не должен проходитьАга, может и так.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не проходит UPDATE(Значение NULL исключено в агрегатных или других операциях SET) / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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