キーの生成

SQL Server には IDENTITYプロパティというのがあり、ユニークな番号を生成してくれるカラムを定義できます。
UDB にも同じようなものがあります。(ユーザー定義関数を調べるために UDB のマニュアルを読んでいてついでに発見しました)

ちなみに UDB for iSeries では V5R2 からのサポートになります。

使い方ですが、UDB のマニュアルからの例です。

CREATE TABLE DEPT
 (DEPTNO SMALLINT NOT NULL
    GENERATED ALWAYS AS IDENTITY
    (START WITH 500, INCREMENT BY 1),
 DEPTNAME VARCHAR (36) NOT NULL,
 MGRNO CHAR(6),
 ADMRDEPT SMALLINT NOT NULL,
 LOCATION CHAR(30) )
ALTER TABLE DEPT
 ALTER COLUMN DEPTNO
 RESTART WITH 1

Oracle や UDB for OS/390 V6 などでは ROWID というデータタイプがあり、例えば以下のように書きます。

こちらも UDB for iSeries では V5R2 からのサポートになります。

CREATE TABLE DEPT
 (DEPT ROWID
 GENERATED ALWAYS,
 DEPTNAME VARCHAR(36) NOT NULL,
 MGRNO CHAR(6),
 ADMRDEPT SMALLINT NOT NULL,
 LOCATION CHAR(30) )

ROWID はデータ・タイプであり、IDENTITY はSMALLINT、INTEGER、BIGINT、DECIMAL、NUMERIC に指定できる属性 (= プロパティ) である、という違いがあります。

[Top Pageに戻る]

Ads by TOK2