WEB开发网
开发学院数据库DB2 在IBM DB2通用数据库中实现会话间的警告 阅读

在IBM DB2通用数据库中实现会话间的警告

 2009-06-26 16:15:01 来源:WEB开发网   
核心提示: 等待并读取特定警告:alerts.waitone目标:存储过程等待并从指定警告名中读取警告消息,相关性:delay() UDF输入参数:警告名(最大长度为 60 个字符)输出参数:SQLCODE、SQLSTATE、ERROR_MESSAGE(以备扩展使用)、警告消息和超时状态,在IBM D

等待并读取特定警告:alerts.waitone

目标:存储过程等待并从指定警告名中读取警告消息。

相关性:delay() UDF

输入参数:警告名(最大长度为 60 个字符)

输出参数:SQLCODE、SQLSTATE、ERROR_MESSAGE(以备扩展使用)、警告消息和超时状态。

授权:将 EXECUTE 授权给 PUBLIC

功能行为:该存储过程首先检查指定警告名是否存在以及其标志是否设置为“Y”。这个标志意味着此会话可以从一个注册警告接收警告消息,因为另一个会话已经发送了一条消息,而此会话正在查找来自那个会话的消息。

这个存储过程等待警告消息。如果该警告没有消息,它将等待一个预定义的时间间隔然后再检查。缺省轮询时间间隔是 5 秒,但是如果超时输入参数设置为少于 5 秒或不是 5 秒的倍数,则轮询时间间隔将设置为 1 秒。阅读完消息以后,此存储过程清除消息字段并将标志重新设置为“N”以使其不会阻塞其它会话。现在其它会话可以使用注册警告发送消息。如果成功的话返回 0;否则返回 -1。

等待并读取任何警告消息:alerts.waitany

目标:等待并从任意警告名中读取警告消息的存储过程。

相关性:delay() UDF

输入参数:超时值,按秒计。

输出参数:SQLCODE、SQLSTATE、ERROR_MESSAGE(以备扩展使用)、发出消息的警告名、消息和超时状态。

授权:将 EXECUTE 授权给 PUBLIC

功能行为:waitone 和 waitany 存储过程的差别在于,waitany 从 任何警告名中查找消息并将该警告名作为输出参数返回。waitone 从指定警告名查找消息。

这两个存储过程的另一个不同就是轮询时间间隔。对于 waitany,默认的轮询时间间隔设置为 1 秒并且在每个轮询周期中按指数级增加。如果超时时间间隔小于某个轮询周期,则在开始此轮询周期之前,此存储过程将以该超时状态结束。如果成功的话返回 0;否则返回 -1。

上一页  1 2 3 4 5 6  下一页

Tags:IBM DB 通用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接