| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==[[DB2 ID列に自動採番]]==[[DB2]] | [[Database]] |
*http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.admin.dbobj.doc/doc/c0020108.html
===概要===
*ID 列を使用すると、表に追加される個々の行に対し、固有の数値を DB2・・ [[DB2]]・・ が自動的に生成
*個々の行の数値が固有であることを保証するには、ユニーク索引を作成するか、 主キーとして宣言
*GENERATED ALWAYS として定義された ID 列は、常に [[DB2 ]] データベース・マネージャーが生成する値に指定*GENERATED BY DEFAULT として定義すると、アプリケーションが明示的に ID 列の値を指定できます。 アプリケーションが値を指定しないと、DB2 アプリケーションが値を指定しないと、[[DB2]] が値を生成
<&lt;blockquote>&gt;行が表に、指定された明示的な ID 列値で挿入される場合、 次の内部生成される値は更新されず、表内の既存の値と競合する可能性があります。<&lt;/blockquote>&gt;
===ID 列を定義===
*CREATE C[[R]]EATE TABLE ステートメントに AS IDENTITY 節を使用
*3 番目の列が ID 列
*値 "100" が ID 列に入れられます。 この表に行が追加されるごとに、値は 5 ずつ増
CREATE C[[R]]EATE TABLE table (col1 INT,
col2 DOUBLE,
col3 INT NOT NULL GENERATED GENE[[R]]ATED ALWAYS AS IDENTITY (START STA[[R]]T WITH 100, INCREMENT INC[[R]]EMENT BY 5))

案内メニュー