ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

列に対してフォーマット句を指定した場合、基となるドメインもフォーマット句を指定するものである場合、表定義のフォーマット句がドメイン定義のフォーマット句をオーバーライドします。

start-with

IDENTITY列に作成された順序の開始値を指定する整数リテラル値です。省略された場合、デフォルトは1です。

STORED NAME IS stored-name

マルチスキーマ・データベースに作成したテーブルへのアクセスに使用される名前を指定します。ストアド名を使用すると、Oracle Rdb管理ユーティリティであるOracle RMUなどのインタフェースを使用して、マルチスキーマ定義にアクセスできます。このユーティリティでは、1つのデータベース内で複数のスキーマを認識しません。複数のスキーマに対応しないデータベース内では、テーブルのストアド名は指定できません。ストアド名の詳細は、第2.2.18項を参照してください。

table-constraint

表全体に適用される制約を定義します。

SQLでは、列の制約と表の制約が可能です。「使用方法」では、2種類の制約の相違をまとめています。表制約には、PRIMARY KEY、UNIQUE、CHECKおよびFOREIGN KEY制約の4つのタイプがあります。

表制約定義に列を指定するには、最初に表に列を定義する必要があります。

表制約は、永続実表およびグローバル一時表に対してのみ定義できます。

table-name

作成する表定義の名前です。データベースのすべての表名、順序名、ビュー名およびシノニム名で、またはマルチスキーマ・データベースを使用している場合のスキーマ内で一意の名前を使用します。有効なSQL名を使用します。(ユーザー指定の名前の詳細は、第2.2節を参照してください。)

UNIQUE

関連付けられた列の値が一意である必要があることを指定します。UNIQUEまたはPRIMARY KEYキーワードを使用して、表の一意キーとして1つ以上の列を定義できます。

算出列やLIST OF BYTE VARYINGデータ型で定義された列には、UNIQUE制約を指定できません。


使用方法


1ストアド・モジュールの内部に定義されている場合は、宣言されたローカル一時表を参照できます。
2一時表からのみ可能です。
3ENABLE COMPRESSION属性またはDISABLE COMPRESSION属性のみ指定可能です。
4そのような参照は無視されます。


宣言されたローカル一時表の詳細は、「DECLARE LOCAL TEMPORARY TABLE文」を参照してください。

  • 一時表のデータは記憶域ではなく、仮想メモリーに格納されます。ジャーナリングのため、更新や削除など一時表のデータに変更が加えられると、削除または更新される行のイメージの前に、リカバリ領域を保持する必要があります。このリカバリ領域では仮想メモリーも必要であり、その結果、OpenVMSでのページ・ファイル割当て制限(プロセスのクォータ、PGFLQUO)および仮想ページ数(SYSGENパラメータ、VIRTUALPAGECNT)を増やす必要が生じます。
    一時表使用時のメモリー使用量を削減するには、一時表のデータをできるかぎり早く変更するトランザクションをコミットすることをお薦めします。コミットによってデータの追加コピー分が解除され、Oracle Rdbで再利用できるようになります。これによってデータの追加コピー分が不要になり、仮想メモリーの使用量が減少します。
    一時表のメモリー使用率の計算は、『Oracle Rdb7 Guide to Database Design and Definition』を参照してください。

  • 制約が無効な場合、INSERT文、UPDATE文、DELETE文またはTRUNCATE TABLE文では評価されません。

  • Constraint修飾子を指定したRMU Verifyコマンドでは、無効になった制約は無視されます。CONSTRAINTオプションを使用して制約が明示的に指定されたときは例外です。

  • 次の使用方法は、AUTOMATIC列に適用されます。

  • 次の使用方法は、UNIQUE制約に適用されます。