Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » ストアドプロシージャー、トリガー、バッチ、ユーザー定義関数

 

エラーと警告の処理

アプリケーションが SQL 文を実行した後、「ステータスコード」をチェックできます。ステータスコード (リターンコード) は文が正しく実行されたかどうかを表示して、エラーの場合はその理由を提示します。プロシージャーを呼び出す CALL 文にも同じメカニズムが使われます。

エラーのレポートには、SQLCODE か SQLSTATE のどちらかのステータス表示を使用します。

SQL 文が実行されると、SQLCODE と SQLSTATE と呼ばれる特別なプロシージャー変数に値が入ります。この特別値は、文の実行中に変わった状況が発生したかどうかを示します。SQLCODE と SQLSTATE の値は、IF 文を SQL 文の後に置いてチェックできます。その結果によって適切な動作が行われます。

たとえば、SQLSTATE 変数はローが正しくフェッチされたかどうかを示すのに使用できます。TopCustomerValue プロシージャーには、SELECT 文中のすべてのローが処理されたかどうかを検知するために SQLSTATE テストが使われています。

 参照

デフォルトのエラー処理
ON EXCEPTION RESUME を使ったエラー処理
デフォルトの警告処理
例外ハンドラー
ネストされた複合文と例外処理