>>-RAISE_ERROR--(--sqlstate--,--diagnostic-string--)-----------><
スキーマは SYSIBM です。
RAISE_ERROR 関数は、この関数を含むステートメントが、指定した SQLSTATE、 SQLCODE -438、および diagnostic-string のエラーを戻すようにします。 RAISE_ERROR 関数は、未定義データ・タイプでは常に NULL を戻します。
SQLSTATE がこれらの規則に従っていない場合は、エラーになります (SQLSTATE 428B3)。
この関数を、 結果データ・タイプの規則が適用されない文脈 (選択リストで単独の場合など) で使用するには、 Cast 指定を使用して、データ・タイプにヌル値の戻される値を割り当てる必要があります。 CASE 式は、RAISE_ERROR 関数を使う最適の場所といえます。
例:
従業員番号と学歴のリストを、学歴を Post Graduate、Graduate、 および Diploma として示します。 学歴が 20 を超える場合は、エラーになります。
SELECT EMPNO, CASE WHEN EDUCLVL < 16 THEN 'Diploma' WHEN EDUCLVL < 18 THEN 'Graduate' WHEN EDUCLVL < 21 THEN 'Post Graduate' ELSE RAISE_ERROR('70001', 'EDUCLVL has a value greater than 20') END FROM EMPLOYEE