我有一份工作从表中运行清理查询。有一个游标遍历查询,如果一个失败,那么try catch将从表和数据库的查询中获取错误消息。这将该信息放在带有sp_send_dbemail的电子邮件中。
我想知道在查询运行之后是否可以更改catch块以查找成功的事务。然后获取更新的行,或者可能只是行的ID,并将这些ID放在电子邮件中?
或者,当作业运行时,查找要在查询中更新的行以在更新发生后创建电子邮件会更容易吗?
答案 0 :(得分:0)
听起来output clause可能在这里很有用。您可以通过搜索找到许多使用示例。简而言之,您将输出子句添加到每个"清洁"声明并捕获您需要的信息。是的 - 每个声明。我怀疑你的目标 - 但这是一个不同的问题。
顺便说一下 - 当发生错误时,catch块会运行。使用catch块来查找成功语句的效果没有多大意义。在catch块中,您知道try块中最近执行的语句失败。当然,如果每个语句都成功,则catch块永远不会执行。