![]() |
1
2
一般来说,我不喜欢“循环通过记录”解决方案,因为它们往往速度很慢,最终会编写很多自定义代码。 所以… 根据临时表中的记录数,可以使用一系列SQL语句对数据进行后期处理,这些语句测试列的正确性,并标记任何未通过测试的记录。 即
终于
临时表包含所有错误,您可以导出并报告这些错误。 |
![]() |
2
2
你用什么导入文件?DTS具有可用于数据验证的脚本功能。如果不使用DTS,您是否使用自定义工具?如果是这样,请在那里进行验证。
但我想这就是你要找的。
@ OP
|
![]() |
3
1
在事务中运行每个强制转换,每次强制转换后,检查@@error,如果清除,则提交并继续。 |
![]() |
4
1
看来你命中注定了。见 this 文件。 tl/dr:数据转换错误总是导致整个批处理中止-无论您做什么,您的SQL脚本都不会继续执行。交易不会有帮助。您不能检查@@error,因为执行已经中止。 我首先要重新检查一下为什么需要一个充满varchar(255)列的临时数据库——填充该数据库的内容可以进行转换吗? 如果没有,我想您需要编写一个程序/脚本来从varchar列中进行选择、转换并插入到prod db中。 |
![]() |
5
1
您可以尝试在强制转换之前检查数据类型,并实际避免引发错误。 您可以使用如下函数: ISNUM - to check if the data is of a numeric type ISDATE - to check if it can be cast to DATETIME |
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |