GET DIAGNOSTICS ステートメントは、直前に呼び出された SQL ステートメントに関する情報を入手します。
構文
>>-GET DIAGNOSTICS--SQL-variable-name--=----+-ROW_COUNT-----+-->< '-RETURN_STATUS-'
説明
規則
例
SQL プロシージャーで GET DIAGNOSTICS ステートメントを実行し、更新された行数を判別します。
CREATE PROCEDURE sqlprocg (IN deptnbr VARCHAR(3)) LANGUAGE SQL BEGIN DECLARE SQLSTATE CHAR(5); DECLARE rcount INTEGER; UPDATE CORPDATA.PROJECT SET PRSTAFF = PRSTAFF + 1.5 WHERE DEPTNO = deptnbr; GET DIAGNOSTICS rcount = ROW_COUNT; -- At this point, rcount contains the number of rows that were updated. ... END
SQL プロシージャー内で TRYIT というストアード・プロシージャーの呼び出しから戻される状況値を処理します。 この呼び出しでは、ユーザー障害を示す正の値が明示的に戻されるか、 あるいは SQL エラーが発生して負の戻り状況値が戻されます。 プロシージャーが成功すると、ゼロの値が戻されます。
CREATE PROCEDURE TESTIT () LANGUAGE SQL A1:BEGIN DECLARE RETVAL INTEGER DEFAULT 0; ... CALL TRYIT; GET DIAGNOSTICS RETVAL = RETURN_STATUS; IF RETVAL <> 0 THEN ... LEAVE A1; ELSE ... END IF; END A1