SQL エラーのチェック

EXECSQL WHENEVER 文は、REXX に対して有効ではありません。EXECSQL が呼び出されるたびに、SQLCODE または SQLSTATE の値を調べて、エラーや警告の有無を確認する必要があります。また、EXECSQL が呼び出されると、REXX RC 特殊変数に戻りコードが設定されます。有効な戻りコードは次のとおりです。

0
SQL 警告や SQL エラーは発生していません。
+1
SQL 警告が発生しました。
-1
SQL エラーが発生しました。
-3
DSNREXX の後に無効なトークンまたはサポートされていないトークンが検出されました。

次に例を示します。

SSID = "DB2T"
ADDRESS MVS "SUBCOM DSNREXX"
IF RC THEN S_RC = RXSUBCOM('ADD','DSNREXX','DSNREXX')
ADDRESS DSNREXX "CONNECT" SSID
IF RC /= 0 THEN DO
   SAY "FAILURE TO CONNECT TO DATABASE"  
   EXIT 8
END

DB2 LUW または SQL Server 以外の DBMS で Micro Focus の DSNREXX を使用しようとすると、DSNREXX "CONNECT" 文の後に戻りコード -1 (SQL エラー) が返されます。

SQL エラーや SQL 警告の詳細は、以下の REXX SQLCA 変数で確認できます。これらの変数を定義する必要はありません。
  • SQLCODE
  • SQLERRMC
  • SQLERRP
  • SQLERRD.1
  • SQLERRD.2
  • SQLERRD.3
  • SQLERRD.4
  • SQLERRD.5
  • SQLERRD.6
  • SQLWARN.0
  • SQLWARN.1
  • SQLWARN.2
  • SQLWARN.3
  • SQLWARN.4
  • SQLWARN.5
  • SQLWARN.6
  • SQLWARN.7
  • SQLWARN.8
  • SQLWARN.9
  • SQLWARN.10
  • SQLSTATE