我正在尝试为我的公司设置一个自动化的数据工作流,每个星期一将数据插入数据库(Microsoft sql server)中。
“批量插入”语句将逐行插入数据。但是,如果在中间找到错误的数据,它将停止该过程,并且不会取出插入的数据。
有什么方法可以让我们首先验证数据,以便在验证数据可以插入之前不会开始插入数据?
谢谢!
...如果在中间找到错误的数据,它将停止该过程,并且不会取出插入的数据。
使用事务,这正是它们的用途(作为事务的一部分回滚或提交多个操作)
一般说明
可以在用户定义的事务内执行BULK INSERT语句,以将数据导入表或视图中。(可选)要对批量导入数据使用多个匹配项,事务可以在BULK INSERT语句中指定BATCHSIZE子句。如果回滚多批事务,则回滚已发送到SQL Server的每个批处理。
例:
BEGIN TRANSACTION TrnBlkInsert
BEGIN TRY
-- your bulk insert here
BULK INSERT .....
COMMIT TRANSACTION TrnBlkInsert
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION TrnBlkInsert;
THROW;
END CATCH
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句