powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / UPDATE
8 сообщений из 8, страница 1 из 1
UPDATE
    #32035350
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Help me!
Необходимо на SQL2000 провести UPDATE только для тех полей значения которых Null, не перебирая в лоб каждый столбец - т.е:
UPDATE Table1
SET column1=@column1
WHERE column1 is null AND id1=@id1
UPDATE Table1
SET column2=@column2
WHERE column2 is null AND id1=@id1
.
.
.
...
Рейтинг: 0 / 0
UPDATE
    #32035352
Tulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UPDATE Table1
SET column1=isnull(column1,@column1),
column2=isnull(column2,@column2)
WHERE (column1 is null or column2 is null) AND id1=@id1
...
Рейтинг: 0 / 0
UPDATE
    #32035354
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но мне нужно сделать UPDATE только для того столбца значение которого Null, а не UPDATE всей строки, если значение одного из столбцов Null
...
Рейтинг: 0 / 0
UPDATE
    #32035355
Tulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так те поля,которые не NULL проапдэйтятся сами на себя,
т.е.останутся без изменения.
...
Рейтинг: 0 / 0
UPDATE
    #32035357
febob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а малость по другому:

UPDATE Table1
SET column1=coalesce(column1,@column1),
column2=coalesce(column2,@column2)
WHERE (column1 is null or column2 is null) AND id1=@id1
...
Рейтинг: 0 / 0
UPDATE
    #32035360
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПАСИБО!
...
Рейтинг: 0 / 0
UPDATE
    #32035361
febob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ой извените вот так:
UPDATE Table1
SET
column1= case
when column1 is null then @column1
else column1
end,
column2= case
when column2 is null then @column2
else column2
end
WHERE (column1 is null or column2 is null) AND id1=@id1
...
Рейтинг: 0 / 0
UPDATE
    #32035367
Tulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так функция ISNULL это и делает, т.е.

isnull(column1,@column1) = case
when column1 is null
then @column1
else column1
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / UPDATE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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