您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

申报条件

声明 CONDITION 变量允许您命名 SQL 错误代码,甚至定义用户定义的条件。

DECLARE  CONDITION [ FOR SQL_ERROR_CODE  ];

这些变量可用于 EXIT HANDLER 声明以及 SIGNAL 和 RESIGNAL 语句中。RESIGNAL 和 SIGNAL 中仅允许用户定义的条件。

对 SQL 错误代码使用条件变量可使过程/函数代码更加易读。例如,您可以为其声明有意义的条件,而不是使用指示除数为零的 SQL 错误代码 304:

DECLARE division_by_zero CONDITION FOR SQL_ERROR_CODE 304;

然后,相应的 EXIT HANDLER 将如下所示:

DECLARE EXIT HANDLER FOR division_by_zero

SELECT ::SQL_ERROR_CODE, ::SQL_ERROR_MESSAGE FROM DUMMY;

除了为现有 SQL 错误代码声明条件外,您还可以声明用户定义的条件。使用或不使用用户定义的错误代码进行定义。

考虑到对于无效的过程输入,您需要用户定义的条件,您必须按照以下示例进行声明:

DECLARE invalid_input CONDITION;

或者,您还可以关联用户定义的错误代码,例如 10000:

DECLARE invalid_input CONDITION FOR SQL_ERROR_CODE 10000;

备注请注意,用户定义的错误代码必须在 10000 到 19999 的范围内。

将如何在 SIGNAL 和 RESIGNAL 部分处理对用户定义的条件发出信号和/或重新发出信号。