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

戻る
戻る
 
次へ
次へ
 


ACCEPT文

ユーザーに対し、追加情報のプロンプトが表示されます。この情報は対話型SQL変数に格納され、その後DMLおよび一部のSET文によって使用されます。

環境

ACCEPT文は、対話型SQLで使用できます。

形式




引数

DEFAULT default-value

ユーザーが[Enter]キーを押した場合に、使用されるデフォルト値を指定します。デフォルト値は変数のデータ型に変換が可能な、正しく書式設定された文字列である必要があります。

HIDE

入力テキストのエコーを無効にします。デフォルトではすべての入力文字がエコーされます。

PROMPT string-literal

入力を受け入れる前に表示されるプロンプト文字列を指定します。

NOPROMPT

文字列によるプロンプトを無効にします。

TIMEOUT numeric-literal

ユーザーがこの秒数内にレスポンスしない場合、エラーが返されます。負の値またはゼロの数式リテラルは無視されます。デフォルトでは待機時間制限はありません。

UPPER

すべての小文字は、変数に割り当てられる前に大文字に変換されます。デフォルトでは小文字は変更されないままです。

variable-ref

DECLARE変数文を使用して定義された対話型SQL変数です。

使用方法


例1: PROMPT句およびNOPROMPT句に基づくプロンプト


SQL> DECLARE :x INTEGER;
SQL> DECLARE :y INTEGER;
SQL>
SQL> ACCEPT :x indicator :y PROMPT 'what value? ';
what value? 10
SQL> PRINT :x, :y;
           X             Y
          10             0
SQL>
SQL> ACCEPT :x INDICATOR :y NOPROMPT;
11
SQL> PRINT :x, :y;
           X             Y
          11             0
SQL>
SQL> ACCEPT :x;
Enter value for X: 12
SQL> PRINT :x;
           X
          12
SQL>

例2: SET FLAGS文字列のプロンプトに対するACCEPTの使用

このシーケンスはスクリプトに含まれます。


SQL> DECLARE :debug_flags CHAR(20);
SQL> ACCEPT :debug_flags;
Enter value for DEBUG_FLAGS: trace
SQL> PRINT :debug_flags;
 DEBUG_FLAGS
 trace
SQL> SET FLAGS :debug_flags;
SQL> SHOW FLAGS

Alias RDB$DBHANDLE:
Flags currently set for Oracle Rdb:
   PREFIX,TRACE,MAX_RECURSION(100)


ALTER文

データベース・オブジェクトが変更されます。

使用方法

次の注意事項は、ALTER DATABASEを除くすべてのALTER文に適用されます。


ALTER CONSTRAINT文

制約が変更されます。

環境

ALTER CONSTRAINT文は次の環境で使用できます。


形式




引数

COMMENT IS 'string'

制約に関するコメントを追加します。SQLでは、SHOW CONSTRAINTS文の実行時にコメントのテキストが表示されます。コメントは一重引用符(')で囲み、コメント内の複数の行はスラッシュ(/)で区切ります。

constraint-attributes

「ALTER TABLE文」を参照してください。

constraint-name

定義を変更するテーブルの名前です。

RENAME TO

変更する制約の名前を変更します。詳細は、「RENAME文」を参照してください。新規名がシノニム名である場合は、エラーが発生します。

RENAME TO句には、このデータベースに対して有効なシノニムが必要です。「ALTER DATABASE文」のSYNONYMS ARE ENABLED句に関する説明を参照してください。これらのシノニムがデータベース定義またはアプリケーションによって使用されていない場合は、削除される可能性があります。


使用方法


この例では、制約属性を変更して制約にコメントを追加するためにALTER CONSTRAINTを使用する方法を示します。


SQL> set dialect 'sql99';
SQL> attach 'file db$:mf_personnel';
SQL>
SQL> create table PERSON
cont>     (last_name  char(20)
cont>         constraint MUST_HAVE_LAST_NAME
cont>             not null
cont>             deferrable,
cont>      first_name char(20),
cont>      birthday   date
cont>         constraint MUST_BE_IN_PAST
cont>             check (birthday < current_date)
cont>             not deferrable,
cont>      constraint ALL_UNIQUE
cont>         unique (last_name, first_name, birthday)
cont>         deferrable initially immediate
cont>     );
SQL>
SQL> show table (constraint) PERSON
Information for table PERSON


Table constraints for PERSON:
ALL_UNIQUE
 Unique constraint
     Null values are considered distinct
 Table constraint for PERSON
 Evaluated on each VERB
 Source:
 UNIQUE (last_name, first_name, birthday)

MUST_BE_IN_PAST
 Check constraint
 Column constraint for PERSON.BIRTHDAY
 Evaluated on UPDATE, NOT DEFERRABLE
 Source:
 CHECK (birthday < current_date)

MUST_HAVE_LAST_NAME
 Not Null constraint
 Column constraint for PERSON.LAST_NAME
 Evaluated on COMMIT
 Source:
 PERSON.LAST_NAME NOT null

Constraints referencing table PERSON:
No constraints found

SQL>
SQL> alter constraint ALL_UNIQUE
cont>     deferrable initially deferred;
SQL>
SQL> alter constraint MUST_HAVE_LAST_NAME
cont>     comment is 'We must assume all persons have a name'
cont>     not deferrable;
SQL>
SQL> alter constraint MUST_BE_IN_PAST
cont>     deferrable initially immediate;
SQL>
SQL> show table (constraint) PERSON
Information for table PERSON


Table constraints for PERSON:
ALL_UNIQUE
 Unique constraint
     Null values are considered distinct
 Table constraint for PERSON
 Evaluated on COMMIT
 Source:
 UNIQUE (last_name, first_name, birthday)

MUST_BE_IN_PAST
 Check constraint
 Column constraint for PERSON.BIRTHDAY
 Evaluated on each VERB
 Source:
 CHECK (birthday < current_date)

MUST_HAVE_LAST_NAME
 Not Null constraint
 Column constraint for PERSON.LAST_NAME
 Evaluated on UPDATE, NOT DEFERRABLE
 Comment: We must assume all persons have a name
 Source:
 PERSON.LAST_NAME NOT null

Constraints referencing table PERSON:
No constraints found

SQL>
SQL> commit;


ALTER DATABASE文

次のいずれかの方法でデータベースが変更されます。


環境

ALTER DATABASE文は次の環境で使用できます。


形式










































引数

ADD CACHE row-cache-name

新規の行キャッシュを追加します。row-cache-params-1およびrow-cache-params-2の詳細は、CREATE CACHE句の説明を参照してください。

ADD JOURNAL journal-name

新規のジャーナル・ファイルを作成します。

ADD STORAGE AREA area-name FILENAME file-spec

データベースに追加する記憶域の名前およびファイル仕様を指定します。ADD STORAGE AREA句は複数ファイルのデータベースのみで使用できます。記憶域名はデータベースの他の記憶域名と同じものにはできません。

ADD STORAGE AREA句では、ファイル拡張子.rdaの記憶域ファイル、ファイル拡張子.snpのスナップショット・ファイルの2つのファイルを作成します。FILENAME引数を省略すると、ファイル仕様のデフォルトは次のようになります。

ファイル仕様は、記憶域ファイルおよび(SNAPSHOT FILENAME引数を使用してスナップショット・ファイルの別のファイルを指定していなければ)記憶域ファイルを構成するスナップショット・ファイルを使用します。この場合、指定には複数ファイルのデータベースのみが使用できます)。ADD STORAGE AREA句では、異なる拡張子のファイルを2つ作成できるため、ファイル仕様ではファイル拡張子を指定しないでください。

ALTER DATABASE文を使用して記憶域を追加する場合、その変更はジャーナリングされますが、変更する前にデータベースをバックアップしてください。

ジャーナリングされない変更の重要情報は「使用方法」を参照してください。

ADJUSTABLE LOCK GRANULARITY IS ENABLED

ADJUSTABLE LOCK GRANULARITY IS DISABLED

データベース・システムが自動的に保持するデータベース・リソースでのロック数をできるかぎり最小化する機能を有効にまたは無効にします。デフォルトはENABLEDで、データベースに対するロックはより少なくなります。ただし、データベース・リソースの競合が大きい場合、ロックの自動調整はCPU排出になります。調節可能なロック粒度を無効にすることによって、このようなデータベースでのCPU使用量を抑えるため、より制約の強いロックにできます。

ALERT OPERATOR

データベース・システム・イベントの発生をどの演算子に通知するか指定します。次の演算子クラスを指定できます。

演算子クラス 意味
ALL ALL演算子クラスでは、システムまたはクラスタにアタッチした演算子として有効なすべての端末にメッセージがブロードキャストされる。これらの端末は電源が入っていて、ブロードキャスト・メッセージの受信が有効である必要がある。
NONE NONE演算子クラスでは、システム全体またはクラスタにメッセージが表示されない。
[NO] CENTRAL CENTRAL演算子クラスでは、集中システム・オペレータに送信するメッセージがブロードキャストされる。NO CENTRAL演算子クラスでは、集中システム・オペレータに送信するメッセージが表示されない。
[NO] DISKS DISKS演算子クラスでは、ディスク・ボリュームのマウントとディスマウントに関するメッセージがブロードキャストされる。NO DISKS演算子クラスでは、ディスク・ボリュームのマウントとディスマウントに関するメッセージが表示されない。
[NO] CLUSTER CLUSTER演算子クラスでは、クラスタのステータス変更に関するコネクション・マネージャからのメッセージがブロードキャストされる。NO CLUSTER演算子クラスでは、クラスタのステータス変更に関するコネクション・マネージャからのメッセージが表示されない。
[NO] CONSOLE CONSOLEクラスでは、Oracle Enterprise Manager(OEM)へのメッセージがブロードキャストされる。NO CONSOLEではOEMにブロードキャストされない。
[NO] SECURITY SECURITY演算子クラスでは、セキュリティ・イベントに関するメッセージが表示される。NO SECURITY演算子クラスでは、セキュリティ・イベントに関するメッセージが表示されない。
[NO] OPER1〜[NO] OPER12 OPER1〜OPER12演算子クラスでは、OPER1〜OPER12と識別される演算子へのメッセージが表示される。NO OPER1〜NO OPER12演算子クラスでは、指定した演算子へのメッセージが表示されない。

ALLOCATION IS n BLOCKS

.aijファイルに割り当てられるブロック数を指定します。デフォルトおよび最小は512ブロックです。512ブロックより少ない値を指定した場合も、.aijファイルに512ブロックが割り当てられます。

割当て値の指定の詳細は、『Oracle Rdb7 Guide to Database Design and Definition』を参照してください。

ALLOCATION IS number-pages PAGES

記憶域に割り当てられるデータベース・ページの数を指定します。初期割当てが変更されることはなく、ハッシュ・アルゴリズムに対して使用されます。新規の割当てが現在の割当てになります。RMU Dump/Headerコマンドを実行する場合は、初期割当ておよび現在の割当てが表示されます。

SQLによって自動的に割当てが拡張され、記憶域要件が処理されます。ページは3グループ(クランプと呼ばれる)に割り当てられます。25ページのALLOCATIONには、実際は27ページのデータと後続の拡張が提供されます。デフォルトは700ページです。

変更された領域は、指定した値が現在の領域割当てを超えた場合に拡張されます。そうでない場合、指定した値は無視されます。

ALTER CACHE row-cache-name

既存の行キャッシュを変更します。

ALTER JOURNAL journal-name

既存のジャーナル・ファイルを変更します。名前を指定しない場合は、RDB$JOURNALがデフォルトのジャーナル名になります。

alter-root-file-params1

alter-root-file-params2

alter-root-file-params3

データベースに関連付けられているデータベース・ルート・ファイルの特性またはデータベース全体に適用される特性を制御するパラメータです。これらのパラメータは、個別のパラメータ説明で記述された場合を除き、単一ファイルのデータベースまたは複数ファイルのデータベースに指定できます。データベース・パラメータおよびパラメータによるパフォーマンスへの影響の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。

ALTER DATABASE文では、CREATE DATABASE文で指定できるすべてのデータベース・ルート・ファイル・パラメータを変更できません。記憶域パラメータの数を変更するには、EXPORT文およびIMPORT文を使用する必要があります。記憶域パラメータの変更の詳細は、「IMPORT文」を参照してください。

alter-storage-area-params

データベース記憶域ファイルの特性を変更するパラメータです。同じ記憶域パラメータを単一ファイルのデータベースまたは複数ファイルのデータベースに指定できますが、ALTER DATABASE文のこの部分における句の影響は異なります。

ALTER DATABASE文では、CREATE DATABASE文で指定できるすべての記憶域パラメータを変更できません。次のデータベース・ルート・ファイル・パラメータを変更するには、EXPORT文およびIMPORT文を使用する必要があります。

ALTER STORAGE AREA area-name

変更するデータベースの既存の記憶域名を指定します。ALTER STORAGE AREA句は複数ファイルのデータベースのみで使用できます。

次の句を変更する場合は、領域名にRDB$SYSTEMを指定できます。

次の句を変更する場合に領域名としてRDB$SYSTEMまたはDEFAULT記憶域を指定すると、Oracle Rdbではエラーが発生します。

ALTER DATABASE文を使用してRDB$SYSTEM記憶域の読取り専用パラメータおよび読取り/書込みパラメータを変更する場合は、ALTER STORAGE AREA句の外部でこれらのパラメータを指定する必要があります。

ALTER TRANSACTION MODES

事前に定義したモードまたはデフォルト・モードを有効なまま残し、指定したモードを有効または無効にします。これはオフライン操作で、排他的なデータベース・アクセスが必要です。

現在のトランザクション・モードがSHAREDモードおよびREAD ONLYモードで、EXCLUSIVEモードを追加する場合には、次の文を使用します。


SQL> ALTER DATABASE FILENAME mf_personnel
cont>   ALTER TRANSACTION MODES (EXCLUSIVE);

ASYNC BATCH WRITES ARE ENABLED

ASYNC BATCH WRITES ARE DISABLED

非同期バッチ書込みを有効にするか無効にするかを指定します。

非同期バッチ書込みによって、変更されたデータ・ページのバッチをディスクに非同期で書き込むプロセスが許可されます(バッチ書込み操作の完了を待つ間、プロセスは停止しません)。非同期バッチ書込みによって、データ整合性が失われることなく更新アプリケーションのパフォーマンスが向上します。

デフォルトでは、バッチ書込みが有効です。

非同期バッチ書込みを使用する場合の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。

論理名RDM$BIND_ABW_ENABLEDを定義すると、非同期バッチ書込みを有効にできます。

ASYNC PREFETCH IS ENABLED

ASYNC PREFETCH IS DISABLED

Oracle Rdbによって、プロセスが実際にページをリクエストする前に、フェッチによるページのディスクからの読込みを待機する時間を短縮するかどうかを指定します。

プリフェッチによってパフォーマンスが大幅に向上しますが、不適切に使用するとリソースを過度に使用する可能性があります。非同期プリフェッチはデフォルトで有効です。非同期プリフェッチの詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。

論理名RDM$BIND_APF_ENABLEDを定義すると、非同期プリフェッチを有効にできます。

BACKUP FILENAME backup-file-spec

バックアップ・サーバーによって使用されるデフォルトのファイル仕様を指定します。

実行中、バックアップ・サーバーおよびRMU Backup After_Journalコマンドによって、このファイル仕様がバックアップ・ファイルの名前として使用されます。RMU Backup After_Journalコマンドを使用して、ジャーナル・ファイルのファイル名を指定することにより、この値をオーバーライドできます。

backup-filename-options

バックアップ・ファイル名に編集文字列を含めるかどうかを指定します。EDIT STRING句を使用する場合は、次の表にリストされた編集文字列オプションの一部またはすべてを追加することによって、指定したバックアップ・ファイル名が編集されます。

編集文字列オプション 意味
SEQUENCE バックアップ操作における最初のジャーナル・ファイルのジャーナル順序番号。
YEAR 4桁の整数で表される、現在の年。
MONTH 2桁の整数(01〜12)で表される、現在の月。
DAY 2桁の整数(00〜31)で表される、現在の月の日。
HOUR 2桁の整数(00〜23)で表される、現在の日の時間。
MINUTE 2桁の整数(00〜59)で表される、現在の時間の分。
JULIAN 3桁の整数(001〜366)で表される、現在の年の日。
WEEKDAY 1桁の整数(1〜7)で表される、現在の週の日。1が日曜日、7が土曜日を表す。
literal 任意の文字列リテラル。この文字列リテラルは、ファイル仕様にコピーされる。文字列リテラルの詳細は第2.4.2.1項を参照。