Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / UPDATE / 8 сообщений из 8, страница 1 из 1
05.07.2002, 16:00:52
    #32035350
Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
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
05.07.2002, 16:08:04
    #32035352
Tulkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
UPDATE Table1
SET column1=isnull(column1,@column1),
column2=isnull(column2,@column2)
WHERE (column1 is null or column2 is null) AND id1=@id1
...
Рейтинг: 0 / 0
05.07.2002, 16:25:34
    #32035354
Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
Спасибо, но мне нужно сделать UPDATE только для того столбца значение которого Null, а не UPDATE всей строки, если значение одного из столбцов Null
...
Рейтинг: 0 / 0
05.07.2002, 16:34:19
    #32035355
Tulkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
Так те поля,которые не NULL проапдэйтятся сами на себя,
т.е.останутся без изменения.
...
Рейтинг: 0 / 0
05.07.2002, 16:43:04
    #32035357
febob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
а малость по другому:

UPDATE Table1
SET column1=coalesce(column1,@column1),
column2=coalesce(column2,@column2)
WHERE (column1 is null or column2 is null) AND id1=@id1
...
Рейтинг: 0 / 0
05.07.2002, 17:03:41
    #32035360
Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
СПАСИБО!
...
Рейтинг: 0 / 0
05.07.2002, 17:05:50
    #32035361
febob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
ой извените вот так:
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
05.07.2002, 17:23:06
    #32035367
Tulkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE
Ну так функция ISNULL это и делает, т.е.

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


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