假设我使用从asp.net到sol 2008的批量插入将数据插入数据库。现在我想验证数据我该怎么做。请帮助
答案 0 :(得分:0)
我总是批量插入到临时表(最终主页的表代表性,但未被事务系统使用)。
此:
INSERT
(进入真实表格)完全记录(批量插入不是必需的)在你的情况下,第一颗子弹是最重要的,但所有其他子弹也很重要。
此外,由于数据来自.NET,因此如果确实是批量插入,请确保使用SqlBulkCopy
。
答案 1 :(得分:0)
在大多数情况下,您的临时表的设计应该是这样的,它不允许空值不应该存在,并且字段的数据类型应该是您期望的类型。所以说一个字段是一个日期时间,那么你将无法插入任何数据,期望数据是一个日期时间类型。类似地,如果字段被定义为int,则数据不能是字符串类型等。
通过为字段定义正确的数据类型,尽可能尝试使用数据库的功能/功能。如果需要进行任何其他验证,那么您可以运行一些存储过程,在导入完成后执行其他验证。
此外,目标表上的触发器也有助于确保有效数据。
对于“数据已存在”,具体取决于您要执行的操作,可以使用MERGE语句将数据插入目标。 MERGE语句将允许您忽略重复项或更新它们(可能某些字段的值已更改,您需要更新新值)。