2016-01-21 3 views
2

Мне нужно заполнить столбец значений валюты значением, которое вычисляется из двух других столбцов.заполнять нулевые столбцы в базе данных

Итак:

original_value amount   new_value 
12     2    NULL 
10     1    NULL 

Это стало бы:

original_value amount   new_value 
12     2    24 
10     1    10 

Я только хочу, чтобы обновить NULL столбцы.

Это должно работать на SQL Server и MYSQL!

+3

Не хранить вычисляемые значения Избыточность, не нормируется, риск несоответствия данных! Создайте представление - всегда будет актуально! – jarlh

+0

Я знаю - не наше решение! – user3437721

ответ

2

Просто используйте UPDATE

UPDATE table_name 
SET new_value = (original_value * amount) 
WHERE new_value IS NULL 
1

Вы могли бы попробовать это

UPDATE 
    table_name 
    SET new_value = original_value * amount 
WHERE 
    new_value is null 
4

Как я уже сказал в своем комментарии; не сохраняют вычисленные значения (из других столбцов.) Резервирование, не нормированное, риск несогласованности данных! Создайте представление - всегда будет актуально!

create view viewname as 
select original_value, amount, original_value * amount as new_value 
from tablename 

SQL Server вычислил столбцы, сделать что-то вроде: (. Из других столбцов)

alter table tablename add new_value as original_value * amount 
Смежные вопросы