次の例は、複合文の入れ子を示しています。
L1というラベルが付けられている外側の複合文のローカル変数とカーソル名が、L2というラベルが付けられている内側の複合文で使用されています。
CREATE PROCEDURE sp_sample1(IN p_name CHAR(30), INOUT p_amt INTEGER) L1: BEGIN DECLARE cvar1, v_amt INTEGER; DECLARE cursor1 CURSOR WITHOUT RETURN FOR SELECT c1 AS c_c1, c2 AS c_c2 FROM temp; L2: BEGIN DECLARE v_name CHARACTER(30); DECLARE CONTINUE HANDLER FOR SQLSTATE '42000' BEGIN OPEN cursor1; INSERT INTO temp VALUES (v_name, v_amt); END; SET vName = p_name; -- tab1 table does not exist INSERT INTO tab1 VALUES (v_name, v_amt); FETCH cursor1 INTO cvar1, p_amt; END L2; END L1;