将数据从一个表更新到另一个表失败

时间:2016-06-09 06:37:54

标签: sql sql-server

我在两个系统中有两个表具有相同的结构。我想将一个表中的数据更新到其他

{{1}}

两个表中的两列都是空列,但最终会出现异常

  

无法将值NULL插入列列不允许空值。 INSERT失败。

2 个答案:

答案 0 :(得分:1)

我认为问题是NOT NULL上有Table1约束,你应该放弃它:

ALTER TABLE dbo.Table1 ALTER COLUMN VIEW_CD <columnType> NULL

或者这个:

ALTER TABLE dbo.Table1 ALTER VIEW_CD DROP NOT NULL

然后再次运行查询。

答案 1 :(得分:0)

试试这个:

update Table1
    set     VIEW_CD = cmn.VIEW_CD,
    VIEW_DETAIL = cmn.VIEW_DETAIL 
    FROM dbo.Table1 tbl
    INNER JOIN dbo.Table2 cmn ON tbl.id = cmn.id
where VIEW_CD  IS NOT NULL AND VIEW_DETAIL IS NOT NULL

上面将使用Table2中的所有记录更新Table1,其中记录不包含任何NULL值。