SQL Server错误处理,判断记录是否存在,然后执行过程

标签 sql sql-server error-handling try-catch

我有一个脚本,我想根据表中不确定数量的项目每晚执行多次(随机,每晚)。我计划让它每 5/10 分钟执行一次。

该过程在“主表”中查找项目并将其克隆到其他必要的表。

基本上,我可以让脚本运行,但每次都会失败,但我想比这更聪明一点,并保存所有错误消息。

如何首先确定某个项目是否需要克隆...然后根据结果执行或中止脚本?

我已经尝试过了;

BEGIN TRY

--Procedure

END TRY

BEGIN CATCH

--Procedure

END CATCH

但这似乎无论如何都会执行,但有错误......

或者 IF 语句也许是更好的方法?

谢谢!

最佳答案

IF 是正确的选择:

IF EXISTS (/*Statement to check if rows exist*/)
BEGIN

  --Procedure

END

如果 IF 条件不满足,则该过程将不会运行。您只需要找出适当的检查即可。

关于SQL Server错误处理,判断记录是否存在,然后执行过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14849826/

相关文章:

mysql - 具有许多表的复杂查询,这可以在一个查询中实现吗?

sql-server - 如何从 Table1 插入到 Table2,然后使用插入的 ID 插入到 Table3

node.js - 如何取消请求js下载

error-handling - super.init调用未初始化属性 'self.animator'

sql - 使用 COUNT/Group By 时需要选择所有列

javascript - Node.js 异常处理程序,如果验证错误则指定错误

MySQL - GROUP BY - 单独评估,然后组合

mysql - 如何使用mysql获取工作日数

sql - 向 Oracle DB 的现有表添加唯一约束的好方法?

mysql - 如何查询 2 个 SQL 表并使用 1 个查询更改数据