次の例では、sp_sample3という名前のプロシージャを作成するCREATE PROCEDURE文を示します。ローカル変数宣言、カーソル宣言、および条件ハンドラ宣言を使用します。
CREATE PROCEDURE sp_sample3(OUT p1 CHARACTER(80)) BEGIN DECLARE i INTEGER; DECLARE emp_cursor CURSOR WITHOUT RETURN FOR SELECT emp_name, salary FROM emp_details ORDER BY dept_code; DECLARE dept_cursor CURSOR WITHOUT RETURN FOR SELECT dept_name from department; DECLARE EXIT HANDLER FOR sqlstate '42000' BEGIN OPEN emp_cursor; SET p1='FAILED TO INSERT ROW'; END; DECLARE CONTINUE HANDLER FOR SQLSTATE value '23505' BEGIN SET p1='FAILED TO INSERT ROW'; END; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN SET p1='FAILED TO INSERT ROW'; END; INSERT INTO table1 VALUES(1000,'aaa'); END;