2014-01-07 3 views
0

У меня возникла проблема после выполнения запроса на обновление. Он обновляет колонку, которую я хочу, с нужным описанием (строка). Однако столбцы, которые не должны быть затронуты запросом, являются пустыми, а не имеют описание (String). Что мне делать, чтобы не действовать в этих колонках?После обновления поля некоторые столбцы пустые

Вот запрос:

update GCCC_ATCOM_CLOSING_REASON_I18N a 
set a.DESCRIPTION = (select b.CLOSING_REASON_DESCRIPTION 
        from GCCC_ATCOM_CLOSING_REASON b 
        where b.ID_CLOSING_REASON = a.ID_PARENT 
        AND a.DESCRIPTION ='I HAVE A CAR'); 

В этом случае просто обновляет столбец, который есть в описании «У меня есть автомобиль», но остальные остаются пустыми после обновления.

+0

Что DB двигатель вы используете? –

+0

это Oracle, извините – Katherine99

ответ

3

Это потому, что вы обновляете все записи, и ваш внутренний запрос возвращает null, если описание не I HAVE A CAR. Изменение, что:

update GCCC_ATCOM_CLOSING_REASON_I18N a 
set a.DESCRIPTION = 
    (select b.CLOSING_REASON_DESCRIPTION from GCCC_ATCOM_CLOSING_REASON b where b.ID_CLOSING_REASON = a.ID_PARENT) 
WHERE a.DESCRIPTION ='I HAVE A CAR' 

обновить только те записи, которые имеют описание I HAVE A CAR

+1

Большое спасибо Szymon – Katherine99

Смежные вопросы