插入表格中选择表格a和表格b

时间:2013-11-22 04:45:01

标签: sql oracle

我希望通过连接两个表以及每个id匹配的where条件来将数据插入到表中。

INSERT INTO SALES(T_ID, SF)
SELECT B.T_ID, B.SF
FROM HIS B, SALES C
WHERE C.REP_ID=B.REP_ID;

我收到一条错误,我无法将NULL插入(“c.REP_ID”)

我不想在c.rep_id中插入任何内容。我想从HIS表中将值插入到t_id,sf中,其表上的rep_id = sales表上的rep id。

2 个答案:

答案 0 :(得分:0)

错误只是意味着REP_ID表中的列SALES具有NOT NULL约束。您的INSERT语句不会在该列中插入任何值(您只插入T_IDSF),并且可能没有为您设置该列的行前触发器。

答案 1 :(得分:0)

INSERT INTO SALES (T_ID, SF)
SELECT h.T_ID, h.SF FROM HIS h, SALES C
WHERE C.REP_ID=B.REP_ID;

注意:确保来自select表的数据与您插入的列的数据类型相同且有效。