我有一个表 SINVOICE
和另一个名为 SINVOICE_LINE
的表。
我需要将 SINVOICE
的所有列放入 SINVOICE
_LINE。
我已经创建了相应的列并尝试复制这些值。 SINVOICE
的主键是 SINVOICE_CODE
,而 SINVOICE_LINE
的主键是复合键 (SINVOICE_CODE, SINVOICE_LINE_NUMBER)
。
我编写了以下查询:
INSERT INTO SINVOICE_LINE (sinvoice.ITINERARY_CODE)
SELECT sinvoice_line.ITINERARY_CODE
FROM SINVOICE
INNER JOIN sinvoice_line ON sinvoice.sinvoice_code = sinvoice_line.sinvoice_code;
我收到此错误:
Cannot insert the value NULL into column SINVOICE_CODE, table SINVOICE_LINE; column does not allow nulls. INSERT fails.
我不明白为什么会收到此错误,因为我没有尝试在 SINVOICE_CODE
列中插入任何值。
谢谢!!!
最佳答案
看起来您需要在这里更新而不是插入。
尝试一下:
UPDATE SINVOICE_LINE
SET ITINERARY_CODE = sinvoice.ITINERARY_CODE
from SINVOICE
WHERE sinvoice.sinvoice_code = sinvoice_line.sinvoice_code;
关于SQL Server 错误 515,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802693/