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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » ストアド・プロシージャとトリガ » プロシージャ、トリガ、バッチの使用

 

プロシージャとトリガでのエラーと警告

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

エラーのレポートには、SQLCODE か SQLSTATE のどちらかのステータス表示を使用します。SQLCODE と SQLSTATE のエラーと警告値、およびその意味の詳細については、エラー・メッセージを参照してください。

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

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


プロシージャとトリガでのデフォルトのエラー処理
ON EXCEPTION RESUME を使ったエラー処理
プロシージャとトリガでのデフォルトの警告処理
プロシージャとトリガでの例外ハンドラの使用
ネストされた複合文と例外処理