多くのドキュメントでわかっているように、Host配列の3番目の要素には、SQLCA.SQLERRD
これsqlca.sqlerrd[2]
までにSQLステートメントによって処理された行の累積数が含まれていると記載されています(Pro * Cに関して)。
誰かが他の要素の重要性、すなわち[0]
、[1]
それらが何を意味するかを知っていますか?
多くのドキュメントでわかっているように、Host配列の3番目の要素には、SQLCA.SQLERRD
これsqlca.sqlerrd[2]
までにSQLステートメントによって処理された行の累積数が含まれていると記載されています(Pro * Cに関して)。
誰かが他の要素の重要性、すなわち[0]
、[1]
それらが何を意味するかを知っていますか?
エラー処理のドキュメントによると、彼らは何もしません。それらは将来の使用のために予約されていますが、実際に使用される可能性は低いように見え始めています。sqlerrd
はとして宣言されてlong[6]
いますが、使用されているよう[2]
に[4]
見えます。後者は、解析エラーのSQLステートメントへのオフセットです。
ただし、[0]、[1]、または[3]を使用しないのは興味深いことです。以前のバージョンで他の何かに使用されていたのだろうか。この古いinformixリンクは、との意味が似ている同様の構造を持っているため[2]
、[4]
他のリンクを何に使用するかについてのヒントを与える可能性があります。しかし、意味のない偶然かもしれません...
PostgreSQLはDB2と同じ構造を持っているようで、SQLServerは関連しているように見えます。それは疑わしいことに標準のように見え始めています...Oracleが部分的にしか準拠していないものですが。
「InformixGuidetoSQL」(1998年2月)から:
(すべての言語が0で始まる配列にインデックスを付けるわけではないため、「First」、「Second」など。)
最初-SELECT、UPDATE、INSERT、またはDELETEステートメントのPREPAREステートメントが成功した後、または選択カーソルが開かれた後、このフィールドには、影響を受ける行の推定数が含まれます。
2番目-SQLCODEにエラーコードが含まれている場合、このフィールドには、ゼロまたはISAMエラーコードと呼ばれる追加のエラーコードが含まれ、主なエラーの原因を説明します。単一行の挿入操作が成功すると、このフィールドには、その行に対して生成されたSERIAL値の値が含まれます。
3番目-複数行の挿入、更新、または削除操作が成功した後、このフィールドには処理された行の数が含まれます。エラーで終了する複数行の挿入、更新、または削除操作の後、このフィールドには、エラーが検出される前に正常に処理された行の数が含まれます。
4番目-SELECT、UPDATE、INSERT、またはDELETEステートメントのPREPAREステートメントが成功した後、または選択カーソルが開かれた後、このフィールドには、ディスクアクセスの推定加重和と処理された行の総数が含まれます。
5番目-PREPARE、EXECUTE IMMEDIATE、DECLARE、または静的SQLステートメントで構文エラーが発生した後、このフィールドには、エラーが検出されたステートメントテキストのオフセットが含まれます。
6番目-選択した行のフェッチが成功した後、または挿入、更新、または削除操作が成功した後、このフィールドには、処理された最後の行のROWID(物理アドレス)が含まれます。このROWID値が、データベースサーバーがユーザーに返す行に対応するかどうかは、データベースサーバーがクエリを処理する方法(特にSELECTステートメントの場合)によって異なります。