我正在将一个表中的值插入到另一个表中。表中有 100000 条记录。但是当我开始将值从一个表插入到另一个表时,我的数据中的任何行都有问题。我不知道那具体在哪里。那么我怎么知道哪一行的值是错误的,因为插入语句没有完成呢?错误后,此停止在表中插入任何内容。这是我使用的简单语句:
INSERT INTO Person (FirstName, LastName,Email)
SELECT FirstName, LastName, Email
FROM Person.Contact
我正在将一个表中的值插入到另一个表中。表中有 100000 条记录。但是当我开始将值从一个表插入到另一个表时,我的数据中的任何行都有问题。我不知道那具体在哪里。那么我怎么知道哪一行的值是错误的,因为插入语句没有完成呢?错误后,此停止在表中插入任何内容。这是我使用的简单语句:
INSERT INTO Person (FirstName, LastName,Email)
SELECT FirstName, LastName, Email
FROM Person.Contact
如果没有关于对目标表施加的约束的任何附加信息,一个非常普遍、缓慢的解决方案将是
对于您的问题的具体答案,请提供更多信息。
另一种方法是使用 SSIS:在这里您可以为错误行提供单独的通道。这个通道可以导致一个单独的表收集所有导致错误的行。
问题很难理解,但通常的嫌疑人是:
尝试将 Null 插入不可为空的列
外键违规
约束违规。
试图插入错误的数据类型。
请编辑您的问题以添加错误消息。
我猜Person
是您的架构的名称,所以也许您的意思是
INSERT INTO Person.Person (FirstName, LastName,Email)
SELECT FirstName, LastName, Email
FROM Person.Contact