SQL - вставить в один столбец в таблице - PullRequest
0 голосов
/ 18 октября 2018

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

insert into Product_Database(UPC)
select u.UPC
from upc_temp u
    join upc_temp_gers g on u.PartNumber = g.PartNumber
    join Product_Database p on p.ITM_CD = g.ItemCode
where u.UPC is not null

, и это ошибка, которую он возвращает

Cannot insert the value NULL into column 'ITM_CD'

Ясно, что яне пытаюсь вставить в столбец «ITM_CD».Просто «UPC».

Любая помощь будет принята с благодарностью.Спасибо!

Ответы [ 3 ]

0 голосов
/ 18 октября 2018

Предположительно логика, которую вы хотите:

update p 
    set UPC = u.UPC
    from upc_temp u join
         upc_temp_gers g
         on u.PartNumber = g.PartNumber join
         Product_Database p
         on p.ITM_CD = g.ItemCode
    where u.UPC is not null;
0 голосов
/ 20 октября 2018

Для этого вы должны использовать запрос UPDATE.

0 голосов
/ 18 октября 2018

Теперь я хочу заполнить этот столбец в уже существующих строках.

После добавления нового столбца в таблицу вы не заполняете новый столбец для существующих строк.со вставкой.

Вы делаете это с обновлением.

...