自動生成キーの取得 - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
16.20
Published
2018年10月
Language
日本語
Last Update
2019-02-12
dita:mapPath
ja-JP/fxv1527114222338.ditamap
dita:ditavalPath
ja-JP/fxv1527114222338.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

Teradata Databaseの列属性である識別列が列と関連付けられている場合、データベースは各挿入行の列に固有のテーブル レベルの番号を生成します。Teradata Database V2R6.2から、識別列に挿入するリクエスト(INSERT、INSERT ... SELECT、UPSERT、MERGE-INTO)は、オプションで挿入行の識別列の値を表わす結果セット(自動生成キー)を返すこともできます。

アプリケーションは以下の方法で識別列に挿入する要求から自動生成キーを返すように指定できます。

  • DSN Setup(DSN設定)ダイアログのReturn Generated Keys(生成キーを返す)構成オプションまたはodbc.iniファイルのReturnGeneratedKeysオプションを使用する
  • SQLDriverConnectまたはSQLBrowseConnect呼び出しでReturnGeneratedKeys接続文字列キーワードを使用する
  • SQLSetConnectAttrの呼び出しでSQL_ATTR_AGKR接続属性を使用する
  • SQLSetStmtAttrの呼び出しでSQL_ATTR_AGKR文属性を使用する

アプリケーションは常に、挿入行に対して識別列だけを返すこと、挿入行のすべての列を返すこと、または挿入行を返さないこと(デフォルトの動作)を指定できます。

自動生成キーの取得を有効にすると、識別列が入っているテーブルに挿入する要求は、2つの結果を返します。1つは挿入行の数を表わす行カウント、もう1つは自動生成キーを単一列または完全な挿入行として表わす結果セットで、いずれを返すかは構成によります。挿入要求は、最初に挿入してから挿入した行の識別列またはすべての列を選択するマクロに類似するようになります。アプリケーションは、SQLMoreResultsを呼び出して2つ目の結果に位置を設定し、SQLBindCol/SQLFetchまたはSQLFetch/SQLGetDataを呼び出して、生成キーを含む結果セットを取得する必要があります。