【发布时间】:2012-06-22 11:29:01
【问题描述】:
我目前正在尝试将数据从一个表移动到另一个表。在previous question I asked today 中,有人建议我使用插入语句。在尝试运行该语句时,我从 SQL Server 收到如下错误:
无法将值 NULL 插入“父”列、“*****.dbo.Product”表;列不允许空值。插入失败。
这是我创建的语句,
BEGIN TRANSACTION
INSERT INTO [*****].[dbo].[Product]
([PDate]
,[SDate]
,[CreatedBy]
,[CreatedDate]
,[UpdatedBy]
,[UpdatedDate])
SELECT d.[PDate]
,d.[SDate]
,d.[CreatedBy]
,d.[CreatedDate]
,d.[UpdatedBy]
,d.[UpdatedDate]
FROM [*****].[dbo].[ProductData] AS d
JOIN [*****].[dbo].[Product] AS t
ON d.ProductDataID = t.ProductDataID
ROLLBACK TRANSACTION
我需要确保数据正确匹配
编辑:抱歉,我在复制脚本时出错。 UseDRM 在我原始脚本的两个部分中。 我要做的是将ProductData表中的数据复制到Product表中。
【问题讨论】:
-
select 子句中的某些列为空
-
发布您的产品表设计
-
我认为发生的事情是插入语句试图将新行添加到表中,而不是填充现有行。
标签: sql sql-server join insert-into