GeneratePureQueryXml ユーティリティーにより使用される SQL スクリプト・ファイルの形式

SQL スクリプト・ファイルには、SQL ステートメントおよび SQL ステートメントの実行時に使用されるオプションのカーソル属性情報が含まれます。GeneratePureQueryXml ユーティリティーまたはワークベンチを使用して、SQL スクリプト・ファイルから pureQueryXML ファイルを作成できます。
SQL スクリプト・ファイルでは、コメント行および SQL ステートメントの終了文字に以下がデフォルトとして使用されます。これは GeneratePureQueryXml ユーティリティーを使用して変更できます。
  • コメント行の先頭には 2 つのダッシュ (--) が使用されます。
  • SQL ステートメントの終了文字には、セミコロンが使用されます。
コメントには、そのコメントより後にある最初の SQL ステートメントのカーソル属性を指定するキー値の組を含めることができます。

コメントは /* および */ で囲むこともできます。/* および */ で囲まれたコメント・テキスト内で指定されたカーソル属性は無視されます。

カーソル属性のパラメーター

SQL スクリプト・ファイルで使用できる、サポートされているカーソル属性のパラメーターおよび値は、次のとおりです。

resultSetHoldability
オプション。 ResultSet の保持機能を指定します。 resultSetHoldability には、次のいずれかの値を指定できます。
  • CLOSE_CURSORS_AT_COMMIT を指定すると、コミット時にカーソルを閉じるように結果セットの保持機能が設定されます。
  • HOLD_CURSORS_OVER_COMMIT を指定すると、コミット後もカーソルを保持するように結果セットの保持機能が設定されます。

デフォルト値は HOLD_CURSORS_OVER_COMMIT です。

resultSetConcurrency
オプション。 ResultSet の並行性を指定します。 resultSetConcurrency には、次のいずれかの値を指定できます。
  • CONCUR_READ_ONLY を指定すると、カーソルの並行性が読み取り専用に設定されます。
  • CONCUR_UPDATABLE を指定すると、カーソルの並行性が更新可能に設定されます。

デフォルト値は CONCUR_READ_ONLY です。

resultSetType
オプション。 ResultSet のタイプを指定します。 resultSetType には、次のいずれかの値を指定できます。
  • TYPE_FORWARD_ONLY を指定すると、結果セットのタイプが順方向のみに設定されます。
  • TYPE_SCROLL_SENSITIVE を指定すると、結果セットのタイプがスクロール・センシティブに設定されます。
  • TYPE_SCROLL_INSENSITIVE を指定すると、結果セットのタイプがスクロール・インセンシティブに設定されます。

デフォルト値は TYPE_FORWARD_ONLY です。

以下の例では、SQL select ステートメントに resultSetHoldabilityresultSetConcurrency、および resultSetType 属性を設定します。
-- resultSetHoldability= CLOSE_CURSORS_AT_COMMIT, resultSetConcurrency=CONCUR_UPDATABLE, resultSetType=TYPE_SCROLL_SENSITIVE
SELECT ID, NAME FROM EMP WHERE REGION=?;
以下の例では、コメント行を 3 行使用して SQL select ステートメントに属性を設定します。
-- resultSetHoldability= CLOSE_CURSORS_AT_COMMIT
-- resultSetConcurrency=CONCUR_UPDATABLE
-- resultSetType=TYPE_SCROLL_SENSITIVE
SELECT * FROM PRODUCTS WHERE  PRICE > ? ;
以下の例では、コメント・マーカー /* および */ で囲まれた属性が無視されます。
/*
   resultSetHoldability= CLOSE_CURSORS_AT_COMMIT
   resultSetConcurrency=CONCUR_UPDATABLE
   resultSetType=TYPE_SCROLL_SENSITIVE
*/
SELECT * FROM PRODUCTS WHERE  PRICE > ? ;
以下の例では、属性が最初の SELECT ステートメントに適用されます。2 番目の SELECT ステートメントでは、デフォルト値が使用されます。
-- resultSetHoldability= CLOSE_CURSORS_AT_COMMIT
-- resultSetConcurrency=CONCUR_UPDATABLE
-- resultSetType=TYPE_SCROLL_SENSITIVE

SELECT * FROM PRODUCTS WHERE PRICE > ? 
  AND COLOR = ? ;

SELECT PRICE FROM PRODUCTS WHERE  PRODID = ? ;

フィードバック