如果一个查询失败,则跳转到下一个sql查询

时间:2017-12-08 06:06:52

标签: sql plsqldeveloper

我想知道是否有可能创建查询包,如果任何查询失败,那么plsql开发人员应跳转到下一个查询,并且不应该停止直到所有查询运行,最后它应该显示哪个查询失败。

例如,我有5个查询集。

我创建了一个包含这5个查询的包。现在我想创建该包,以便如果第三个查询在运行时失败,plsql开发人员不应该停止并应跳转到第四个查询并运行所有剩余的查询。在所有查询结束时,它应显示“第三次查询失败'

2 个答案:

答案 0 :(得分:0)

创建queryExecutor proecure以将查询作为参数。 该过程的开始将审核日志记录到一个表中。 完成/异常块后,更新已完成/失败的审核日志条目。 使用DBMS Scheduler调用queryExcutore。每个查询都将独立运行。

在结束时使用while循环来检查所有提交的作业是否都处于已完成/失败状态..直到计数等于提交的作业计数。您可以运行此检查程序。一旦两者都等于退出循环。

答案 1 :(得分:-2)

你可以使用try catch。

这里是语法

开始尝试      {sql_statement | statement_block}
结束尝试
BEGIN CATCH
     [{sql_statement | statement_block}]
结束捕获
[; ]