declare-condition

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

declare-condition [2015/09/23 20:27]
declare-condition [2015/09/23 20:27] (current)
Line 1: Line 1:
 +====== DECLARE CONDITION Statement - PL/HQL ======
 +
 +You can use DECLARE CONDITION statement to declare a user-defined condition. ​
 +
 +Then you can define a handler for this condition using [[declare-handler|DECLARE HANDLER]], and raise the condition using the [[signal|SIGNAL]] statement.
 +
 +**Syntax**:
 +
 +<code language=sql>​
 +DECLARE condition_name CONDITION;
 +</​code>​
 +
 +**Example:​**
 +
 +Raise a condition if the number of rows is not equal to the specified number:
 +
 +<code language=sql>​
 +DECLARE cnt INT DEFAULT 0; 
 +DECLARE wrong_cnt_condition CONDITION;
 +
 +DECLARE EXIT HANDLER FOR wrong_cnt_condition
 +  PRINT 'Wrong number of rows';  ​
 +
 +SELECT COUNT(*) INTO cnt FROM TABLE (VALUES (1,2));
 +
 +IF cnt <> 1 THEN
 +  SIGNAL wrong_cnt_condition;​
 +END IF;
 +</​code>​
 +
 +**Compatibility:​** IBM DB2, Teradata and MySQL.
 +
 +**Version**:​ PL/HQL 0.3.1
 +
 +**See also:**
 +  * [[error-handling|Error Handling]]
 +  * [[declare-handler|DECLARE HANDLER]]
 +  * [[sqlcode|SQLCODE]]
 +  * [[sqlstate|SQLSTATE]]
 +  * [[get-diagnostics|GET DIAGNOSTICS]]
 +  * [[signal|SIGNAL]]
 +  * [[resignal|RESIGNAL]]