gpt4 book ai didi

sql-server - 将 bcp 放入带有另一个 sql 语句的事务中

转载 作者:行者123 更新时间:2023-12-05 08:02:05 25 4
gpt4 key购买 nike

在 tsql 的 bcp 输出命令完成其工作(导出文件)后,您通常希望随后清理源。这通常涉及截断源表或设置记录确实已处理的标志。

如果您不清理,下一次导出当然会包括旧的和已经导出的行。

我的实验表明您不能在事务中放置 bcp。我的假设是它是一个进程外工具并且不加入发起交易(如果我错了请纠正我)。

问题是是否有可能以其他方式将这 2 个操作作为一个工作单元执行?要么一起失败,要么一起成功。

我希望有一个“post action”可以传递给 bcp,这样 bcp 本身就可以像 begaviour 一样保证交易。

谢谢你的想法,汤姆

最佳答案

这个怎么样:通过将它们的 PK id 写入处理表来标记所有行。接下来使用 xp_cmdshell 运行 BCP 并检查错误 (see this article for an example)。如果一切顺利,则使用处理表查找要删除的原始行。否则,清除该处理表,然后您就可以重试了。

关于sql-server - 将 bcp 放入带有另一个 sql 语句的事务中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10108302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com