セッション中に作成されるビューに、更新可能ビューに関するANSI/ISO SQL規格を適用するかどうかを指定します。
SET VIEW UPDATE RULES文は次の環境で使用できます。
- 対話型SQL内
- プリコンパイル対象のホスト言語プログラムに埋め込まれる場合
- SQLモジュールのプロシージャの一部として
- 動的SQLで動的に実行される文として
'string-literal'
次のいずれかにする必要があるruntime-optionsの値を指定します。
parameter parameter-marker
- SQL99
- SQL92
- SQL89
- MIA
- SQLV40
SQL99
コンパイル時に作成されるすべてのビューに対して更新可能ビューに関するANSI/ISO SQL規格が適用されるよう指定します。更新可能ビューに関するANSI/ISO SQL規格に準拠しないビューは、更新できません。
SQL92 SQL89 MIA更新可能ビューに関するANSI/ISO SQL規格では、SELECT文で次の条件が満たされる必要があります。
- DISTINCTキーワードは指定されません。
- 選択リストに指定できるのは列名のみです。各列名は1回のみ指定できます。max(column_name)またはcolumn_name +1などのファンクションおよび式は選択リストに指定できません。
- FROM句が参照できるのは1つの表のみです。この表は、更新可能な実表または派生表である必要があります。
- WHERE句には副問合せが含まれません。
- GROUP BY句は指定されません。
- HAVING句は指定されません。
SQLV40
更新可能ビューに関するANSI/ISO SQL規格が適用されないよう指定します。次の条件を満たすビューは更新可能とみなされます。
- DISTINCTキーワードは指定されません。
- FROM句が参照できるのは1つの表のみです。この表は、更新可能な実表または派生表である必要があります。
- WHERE句には副問合せが含まれません。
- GROUP BY句は指定されません。
- HAVING句は指定されません。
デフォルトはSQLV40です。
- SET DIALECT文がSET VIEW UPDATE RULES文の後に処理される場合、これにより、SET VIEW UPDATE RULES文の設定がオーバーライドされる可能性があります。
- SET VIEW UPDATE RULES文を指定すると、現在の接続のみに関するビュー・ルールが変更されます。SHOW CONNECTIONS文を使用して、接続の特性を表示します。
例1: SQLV40からSQL99へのビュー特性の変更
SQL> ATTACH 'ALIAS ENV1 FILENAME ENVIRONMENT'; SQL> CONNECT TO 'ALIAS ENV1 FILENAME ENVIRONMENT' AS 'TEST'; SQL> SHOW CONNECTIONS TEST Connection: TEST Default alias is RDB$DBHANDLE Default catalog name is RDB$CATALOG Default schema name is SMITH Dialect: SQLV40 Default character unit: OCTETS Keyword Rules: SQLV40 View Rules: SQLV40 Default DATE type: DATE VMS Quoting Rules: SQLV40 Optimization Level: DEFAULT Hold Cursors default: WITH HOLD PRESERVE NONE Quiet commit mode: OFF Compound transactions mode: EXTERNAL Default character set is DEC_MCS National character set is DEC_MCS Identifier character set is DEC_MCS Literal character set is DEC_MCS Display character set is UNSPECIFIED Alias ENV1: Identifier character set is DEC_MCS Default character set is DEC_MCS National character set is KANJI SQL> -- SQL> -- Change the environment for view rules from SQLV40 to SQL99 SQL> -- SQL> SET VIEW UPDATE RULES 'SQL99'; SQL> SHOW CONNECTIONS TEST Connection: TEST Default alias is RDB$DBHANDLE Default catalog name is RDB$CATALOG Default schema name is SMITH Dialect: SQLV40 Default character unit: OCTETS Keyword Rules: SQLV40 View Rules: ANSI/ISO Default DATE type: DATE VMS Quoting Rules: SQLV40 Optimization Level: DEFAULT Hold Cursors default: WITH HOLD PRESERVE NONE Quiet commit mode: OFF Compound transactions mode: EXTERNAL Default character set is DEC_MCS National character set is DEC_MCS Identifier character set is DEC_MCS Literal character set is DEC_MCS Display character set is UNSPECIFIED Alias ENV1: Identifier character set is DEC_MCS Default character set is DEC_MCS National character set is KANJI
データベース・エンティティに関する情報と対話型SQLセッションに関する情報を表示します。
SHOW文は、対話型SQLでのみ使用できます。
*
alias.*
先頭にオプションの別名が付くアスタリスクのワイルドカードを指定します。ワイルドカードの先頭に別名を付けない場合、デフォルト・データベース内のオブジェクトに関する情報が表示されます。ワイルドカードの先頭に別名を付ける場合、そのデータベース内のオブジェクトに関する情報が表示されます。ALIASES
アタッチされているすべてのデータベースに関する情報を表示します。別名ごとに、現在のデフォルト・データベースのパス名またはファイル名、およびデータベース・ファイルのファイル仕様が表示されます。名前によって別名を指定する場合、マルチスキーマ・モード、スナップショット、キャリーオーバー・ロック、調整可能なロック粒度、グローバル・バッファ、ジャーナル最適化のためのコミット、およびジャーナル高速コミットの有効化の有無に関する情報が表示されます。データベースのデフォルト・キャラクタ・セット、各国語キャラクタ・セット、識別子キャラクタ・セットが、セッションのデフォルト・キャラクタ・セット、各国語キャラクタ・セット、識別子キャラクタ・セットとは異なる場合、別名のキャラクタ・セットが表示されます。また、ジャーナル高速コミットのチェックポイントおよびトランザクション間隔、ロックのタイムアウト時間、ユーザー数、ノード数、バッファ・サイズ、バッファ数、リカバリ・バッファ数、ACLベースの保護、記憶域、およびリポジトリの必要性の有無も表示されます。
ANSI DATE MODE
DATEデータ型またはCURRENT_TIMESTAMPデータ型を持つ列のデフォルトの解釈を表示します。DATEデータ型およびCURRENT_TIMESTAMPデータ型は、OpenVMSまたはANSI/ISOのどちらでもかまいません。デフォルトでは、どちらのデータ型もOpenVMS形式として解釈されます。
デフォルト日付は、SET DEFAULT DATE FORMAT文を使用して変更します。
ANSI IDENTIFIERS MODE
識別子チェックの有効化の有無を表示します。ANSI/ISO SQL規格の予約語をSQL文で識別子として指定するには、これらを二重引用符で囲む必要があります。識別子チェックを有効にすると、ANSI/ISO予約語が誤用された文の後に情報メッセージが表示されます。予約語のリストは、付録F.4節を参照してください。デフォルトでは、識別子チェックは無効です。識別子チェックを有効にするには、SET KEYWORD RULES文を使用します。
ANSI QUOTING MODE
後続の文で別名とカタログ名のペアを区切るために二重引用符を使用する必要があるかどうかを表示します。SQL構文のデフォルトでは、一重引用符のみを使用できます。引用ルールは、SET QUOTING RULES文を使用して変更します。
AUTOMATIC TRANSLATION
SET AUTOMATIC TRANSLATIONを使用して確立された現在の設定を表示します。CACHE
指定したキャッシュに関する情報を表示します。次に例を示します。
SQL> SHOW CACHE Cache Objects in database with filename sample CACHE1 CACHE2 SQL> SHOW CACHE cache1 CACHE1 Cache Size: 1000 rows Row Length: 256 bytes Row Replacement: Enabled Shared Memory: Process Large Memory: Disabled Window Count: 100 Reserved Rows: 20 Sweep Rows: 3000 No Sweep Thresholds Allocation: 100 blocks Extent: 100 blocks
CATALOGS
指定したカタログに関する情報を表示します。指定するカタログ名に別名を指定しない場合、アタッチされているすべてのデータベースに関するこの情報が表示されます。CHARACTER SETS
セッションおよびアタッチされているすべてのデータベースについて指定したキャラクタ・セットに関する情報を表示します。COLLATING SEQUENCE sequence-name
スキーマおよびドメインの照合順番を表示します。CONNECTIONS DEFAULT
CONNECTIONS CURRENT
CONNECTIONS connection-name
指定した接続に関するデータベース情報を表示します。CONSTRAINT MODE
現在のトランザクションの後に開始されるトランザクションの制約評価のデフォルト設定を表示します。現在のトランザクションが存在する場合、現在のトランザクションの制約評価モードを表示します。制約モードがIMMEDIATEである場合、トランザクションが完了するまで、または制約モードをOFFに設定するまでは、各文の終了時またはコミット時にすべてのコミット時の制約が評価されます。制約モードがDEFERRED(デフォルト設定)である場合、制約評価はコミット時まで遅延されます。
CONTINUE CHARACTER
SET CONTINUE CHARACTERを使用して確立された継続文字の値を表示します。CURRENCY SIGN
出力表示で使用されるドル記号($)などの通貨インジケータを表示します。CURSORS
現在のカーソルを表示します。DATABASES
指定したデータベースに関する情報を表示します。データベースごとに、別名、データベースの型、定義された照合順番、およびデータベース・ファイルのファイル仕様が表示されます。データベースがリポジトリのパス名を使用して宣言されている場合、パス名も表示されます。SHOW DATABASES文で別名を指定しない場合、宣言されているすべてのデータベースに関してこの情報が表示されます。
デフォルト・キャラクタ・セット、各国語キャラクタ・セット、識別子キャラクタ・セットがセッションのデフォルト・キャラクタ・セット、各国語キャラクタ・セット、識別子キャラクタ・セットとは異なる場合、データベースのキャラクタ・セットが表示されます。
別名を指定する場合、マルチスキーマ・モード、スナップショット、キャリーオーバー・ロック、調整可能なロック粒度、グローバル・バッファ、ジャーナル最適化のためのコミット、ジャーナリング、およびジャーナル高速コミットの有効化の有無に関する情報も表示されます。また、ジャーナル高速コミットのチェックポイントおよびトランザクション間隔、ロックのタイムアウト時間、未使用の記憶域数、未使用のジャーナル・ファイル数、ユーザー数、ノード数、バッファ・サイズ、バッファ数、リカバリ・バッファ数、ACLベースの保護、記憶域、およびリポジトリの必要性の有無も表示されます。
DATE FORMAT
SET DATE FORMAT DATE date-number文およびSET DATE FORMAT TIME time-number文のdate-number引数およびtime-number引数の値を表示します。DICTIONARY
データ・ディクショナリの現在のデフォルト・ディクショナリ・ディレクトリを表示します。DIGIT SEPARATOR
出力表示で桁セパレータとして使用される文字を表示します。(桁セパレータは、999を超える値を3桁のグループに分離する記号です。たとえば、数値1,000ではカンマが桁セパレータです。)DISPLAY
SET DISPLAY、SET FEEDBACK、SET HEADING、SET LINE LENGTH、SET PAGE LENGTHおよびSET NULLを使用して確立された現在の設定を表示します。一部の値(行やページ長など)は、対話型SQLの起動時にOpenVMSのターミナル特性から確認されます。DOMAINS
指定したドメインの名前、データ型およびキャラクタ・セットを表示します。引数なしでSHOW DOMAINS文を指定した場合、アタッチされているすべてのデータベース内のすべてのドメインの名前、データ型およびキャラクタ・セットが表示されます。EXECUTION MODE
対話型SQLセッションで発行する文を実行するかどうかを示します。デフォルトでは、発行する文は実行されます。ただし、セッションでSET NOEXECUTE文を発行した場合、後続の文は実行されません。アクセス計画を表示し、構文エラーを検証するには、SET NOEXECUTE文を使用します。詳細は、「SET文」を参照してください。
FLAGGER MODE
すべてのフラガー設定について非標準構文が含まれる文にフラグが設定されているかどうかを示します。SET FLAGGER ON(SET FLAGGER SQL92_ENTRY ONと同義)を指定した場合、SHOW FLAGGER文により、ANSI/ISO規格に関するフラグが設定されていることが通知されます。SET FLAGGER MIA ONを指定した場合、SHOW FLAGGER文により、MIA規格に関するフラグが設定されていることが通知されます。FLAGS
現在のセッションで有効なデータベース・システムのデバッグ・フラグを表示します。FROM identifier-ansi-style
FROM PUBLIC
新規または変更されたアクセス権限セットのエントリの識別子を指定します。PUBLICの指定は、すべてのユーザー識別子のワイルドカード指定に相当します。FUNCTIONS
指定したファンクション(外部ファンクションまたはストアド・ファンクション)に関する情報を表示します。引数なしでSHOW FUNCTIONS文を入力すると、そのファンクションの名前のみが表示されます。次の表では、SHOW FUNCTIONS文で一連のキーワードを使用して表示できる情報をリストしています。
指定するキーワード 表示される情報 COMMENT ファンクションの説明。存在しない場合、何も表示されない。 ID ファンクションに割り当てられた一意のID。 LANGUAGE ファンクションがコーディングされているホスト言語。 MODULE ファンクションが定義されているモジュールの名前。 OWNER ファンクションの所有者。 PARAMETER パラメータに関する情報。これには、引数の数、データ型、戻り型、パラメータを渡す方法が含まれる。 SOURCE 指定したファンクションのソース定義を表示する。
HOLD CURSORS MODE
カーソル保持のデフォルト・モードを表示します。次に例を示します。
SQL> SHOW HOLD CURSORS MODE Hold Cursors default: WITH HOLD PRESERVE NONE
INDEXES
指定した索引に関する情報を表示します。索引名、関連する列と表、索引キーのサイズ、列値の重複の定義上の可否、索引タイプ(ソートまたはハッシュ)、および索引圧縮の有効化の有無が表示されます。引数なしでSHOW INDEXES文を指定した場合、宣言されたすべてのデータベース内のすべての索引の定義が表示されます。
指定するキーワード 実行されるアクション CARDINALITY 索引および列の接頭辞カーディナリティ値をSHOW出力に追加する。 PARTITIONS パーティション名、およびパーティションに使用される記憶域の名前と数を示す索引パーティションを表示する。
JOURNALS
指定したジャーナル・ファイルに関する情報を表示します。ファイル仕様の名前が表示されます。また、作成されている場合、バックアップ・ファイル仕様も表示されます。LANGUAGE
日時の入力と表示における月の名前および略称の変換に使用する言語を表示します。言語名によって、日付リテラルのYESTERDAY、TODAYおよびTOMORROWの変換など、他の言語依存テキストの変換も設定されます。MODULES
指定したモジュールに関する情報を表示します。次の表にリストされているSHOW MODULESオプションを指定しない場合、これらすべてのオプションに関する情報が表示されます。
指定するキーワード 表示される情報 COMMENT モジュールの説明。存在しない場合、何も表示されない。 FUNCTIONS モジュールに含まれるストアド・ファンクション。 ID モジュールに割り当てられた一意のID。 NAME モジュールの名前。 OWNER モジュールの所有者。モジュールが定義者権限モジュールの場合、定義者のユーザー名が表示される。実行者権限モジュールの場合、出力は空白になる。 PROCEDURES モジュールに含まれるストアド・プロシージャ。 VARIABLES モジュールのグローバル変数を表示する。
name-list
ほとんどのSHOW文では、オブジェクト名を指定できるオプションのname-listか、このようなすべてのオブジェクトのサマリーを示すワイルドカード(*)が受け入れられます。このワイルドカードまたは名前の先頭には別名を付けることができます。また、マルチスキーマ・データベースの場合は、カタログおよびスキーマを先頭に付けることができます。デフォルトでは、名前は大文字です。オブジェクトが大文字と小文字の組合せまたは小文字のみで定義されているか、他の特殊文字を使用して定義されている場合、SET DIALECT文またはSET QUOTING RULES文を使用してデリミタ付き識別子を有効にします。次に、SHOW文で名前を引用符("")で囲みます。
object-name
定義を表示するオブジェクトの名前を指定します。ON DATABASE alias
SHOW PRIVILEGES文またはSHOW PROTECTION文を使用してアクセス権限セットの情報を表示するデータベースを指定します。別名のリストを指定できますが、少なくとも1つの別名を指定する必要があります。デフォルト・データベースの権限を表示するには、別名RDB$DBHANDLEを使用します。ON TABLES table-name
ON VIEWS view-name
ON COLUMNS column-name
ON FUNCTIONS function-name
ON PROCEDURES procedure-name
ON MODULES module-name
ON SEQUENCES sequence-name
SHOW PRIVILEGES文またはSHOW PROTECTION文を使用してアクセス権限セットの情報を表示するオブジェクトを指定します。名前のリストを指定できますが、リストを表示するには少なくとも1つの項目を指定する必要があります。少なくとも関連表名を使用して列名を修飾する必要があります。ANSI/ISOスタイルのデータベースでは、SHOW PROTECTION文により、他のユーザーに付与するオプションがある権限と付与オプションがない権限を表示します。他のユーザーに直接的または間接的に付与される権限の表示の詳細は、この項のSHOW USERS WITH文およびSHOW USERS GRANTING文を参照してください。
ON table-name
関連する索引定義を表示する1つ以上の表を指定します。OUTLINES
指定したアウトラインの定義を表示します。アウトライン名、ID番号、モード、問合せ、準拠およびコメント(存在する場合)が表示されます。特定のアウトライン名なしでSHOW OUTLINE文を発行した場合、データベースに格納されているすべてのアウトライン名が表示されます。ただし、無効なアウトラインは無効であるとマークされていません。
PRIVILEGES
PROTECTION
指定したオブジェクトで使用可能なアクセス権と現在のユーザー識別子を表示します。
- SHOW PRIVILEGES文では、指定したデータベース、表、ビュー、列、外部ファンクション、外部プロシージャ、モジュールまたは順序で使用可能なアクセス権と現在のユーザー識別子が表示されます。
この文では、ユーザーに明示的に付与されている権限のみでなく、ユーザーがデータベース・アクセスまたはオペレーティング・システムから継承する任意の権限も表示されます。
クライアント/サーバー環境では、このエントリはクライアントの識別子を示します。たとえば、ユーザーがUSER句およびUSING句を使用してリモート・データベースにアタッチする場合、これらの句に指定されているユーザーの権限が表示されます。
ローカル・データベースにアタッチする場合など、クライアント/サーバー環境ではない環境の場合、データベース・ユーザーの権限のみでなく、ログオン・プロセスの権限も表示されます。たとえば、OpenVMSの権限BYPASSを持つユーザーhelengがUSER句およびUSING句を使用してユーザーrhondaとしてデータベースにアタッチする場合、ユーザーrhondaにはログオン・プロセスhelengから継承した権限のみでなくユーザーrhondaの権限もあることが示されます。- SHOW PROTECTION文では、指定したデータベース、表、ビュー、列、外部ファンクション、外部プロシージャ、モジュールまたは順序のアクセス権限セットのすべてのエントリが表示されます。
PROCEDURES
指定したプロシージャ(外部プロシージャまたはストアド・プロシージャ)に関する情報を表示します。SHOW PROCEDURES属性(COMMENT、ID、LANGUAGE、MODULE、OWNER、SOURCEまたはPARAMETER)を指定しない場合、デフォルトでは、これらすべてのオプションが表示されます。
指定するキーワード 表示される情報 COMMENT ストアド・プロシージャの説明。存在しない場合、何も表示されない。 ID プロシージャに割り当てられた一意のID。 LANGUAGE プロシージャのソースがコーディングされている言語。 MODULE プロシージャが属するモジュールのID番号。 OWNER プロシージャの所有者。 PARAMETER パラメータに関する情報。これには、引数の数、データ型、パラメータを渡す方法が含まれる。 SOURCE 指定したプロシージャのソース定義を表示する。
PROFILES
指定したプロファイルの定義を表示します。ワイルドカードまたはプロファイル名のリストを指定しない場合、アタッチされているすべてのデータベースのすべてのプロファイル名が表示されます。QUERY CONFIRM
問合せを実行する前にこの問合せのコスト推定を表示するかどうかを示します。QUERY LIMIT
問合せで返すことができる行数と、問合せの実行を最適化するために必要な時間を表示します。RADIX POINT
出力表示で小数点として使用される文字を表示します。(小数点は、数値を小数部分から区別する記号です。たとえば、数値98.6ではピリオドが小数点になります。)ROLES
指定したロールの定義を表示します。ロール名、ID番号、およびロール定義に関するコメントが表示されます。SCHEMAS
指定したスキーマの名前を表示します。スキーマ名の一部として別名を指定しない場合、アタッチされているすべてのデータベースに関するスキーマ情報が表示されます。マルチスキーマではないデータベースの場合、データベースごとに「No schemas found」というメッセージが表示されます。マルチスキーマ・データベースの場合、データベースごとに別名に続き、このデータベースに含まれるスキーマのリストが表示されます。リスト内の各スキーマ名の先頭にはカタログ名および別名が付けられます。SEQUENCES
指定した順序の定義を表示します。順序名、ID番号、および順序属性が表示されます。SQLCA
SQL通信領域(SQLCA)の内容を表示します。SQLCAは、SQL文の実行に関する情報をアプリケーション・プログラムに提供する際に使用する変数のコレクションです。対話型SQLでは、SHOW SQLCA文を使用して、SQLCA内の様々な変数について調べることができます。SQLCAの詳細は、付録Cを参照してください。
STATISTICS
現在のプロセスの簡単なプロセス統計を表示します。このコマンドは主に、様々な問合せのリソース使用率と経過時間を比較するために使用します。