如何在plsql中为anonoymous块或查询设置超时?

eri*_*hak 6 sql oracle plsql oracle11g

我知道您可以设置用户配置文件或设置查询的一般超时.

但我希望将超时设置为过程内的特定查询并捕获异常,例如:

begin
      update tbl set col = v_val; --Unlimited time
      delete from tbl where id = 20; --Unlimited time

      begin
            delete from tbl; -- I want this to have a limited time to perform
            exception  when (timeout???) then
            --code; 

      end;

end;
Run Code Online (Sandbox Code Playgroud)

这可能吗?是否有任何超时异常我可以抓住?每个块还是查询?没有找到关于这个主题的太多信息.

小智 3

不,你不能在 pl/sql 中设置超时。为此,您可以使用嵌入 sql 和 pl/sql 的主机语言。