如何检查表中的每一行/列并记录在SQL Server中发现的所有错误?

How to check every row/column in a table and log all the errors found in SQL Server?

提问人:Ann 提问时间:7/1/2020 最后编辑:marc_sAnn 更新时间:7/1/2020 访问量:386

问:

我需要有关如何在 SQL Server 2019 Express 中对此进行编码的帮助。

我有一个平面文件,我把它放在一个临时表中。我想做的是如何将每行/列上的每个验证/无效数据记录到另一个表中,即 .BULK INSERTError_Log_Table

例如:

  INSERT INTO dbo.FileTable (ID, ROWNUM, Data1, Data2, Data3)
      SELECT 
          ID, 
          ROW_NUMBER() OVER(PARTITION BY Data1 ORDER BY (SELECT NULL)) AS ROWNUM, 
          ROUND(CAST(Data1 AS DECIMAL) / 100, 2) AS Data1, Data2, Data3 
      FROM  
          #tmpBulkTable

现在,这就是我将批量数据插入临时表的方式。我必须检查每一列和每一行是否满足所需的数据验证,并且必须记录我看到的每个错误/错误。您能否建议如何完成这项工作。

sql-server sql-server-2019-express

评论

2赞 Caius Jard 7/1/2020
编写一个执行验证的查询,这将是我开始的地方
0赞 Sormita Chakraborty 7/1/2020
如果要根据一组预定义的功能规则进行验证,则可以在此方案中使用 While 循环或 Cursor。
0赞 Ann 7/1/2020
@CaiusJard,验证是 data1 是否存在于 data1_validation _table 上,主要是这样。
1赞 Caius Jard 7/1/2020
可能需要比您发布的信息更多的信息才能使用。从我的角度来理解你的问题:想象一下,你是一家新公司的软件开发人员,你的老板在第一天就进来向你抛出这个规范:“根据规则验证业务中重要团队生成的所有信息,并在通常的地方放置一个日志,这样我们就可以看看是否有人在做违反规则的工作”。它没有定义什么是重要的团队,信息是什么,规则是什么,输出是什么样子的,或者通常的位置在哪里。这就是你在这里问的..
0赞 Srinika Pinnaduwage 7/1/2020
向我们展示一些示例数据以及要放入错误日志的内容。

答: 暂无答案