Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

USE DATABASE

現在のネームスペースおよびデータベースを設定します。

Synopsis

USE [DATABASE] dbname

引数

dbname 現在のネームスペースとして現在のプロセスで使用するネームスペースおよび対応するデータベース。

概要

USE DATABASE コマンドは、現在のプロセスを、指定したネームスペースおよびそれに関連するデータベースに切り替えます。これにより、SQL 内でネームスペースを変更できるようになります。DATABASE キーワードはオプションです。

指定した dbname は、目的のネームスペース、およびデータベース・ファイルを含む対応ディレクトリの名前となります。dbname識別子として指定します。ネームスペース名は、大文字と小文字を区別しません。ネームスペースの使用の詳細は、"Caché プログラミング入門ガイド" の "ネームスペースとデータベース" を参照してください。

USER は SQL 予約語であるため、USER ネームスペースを指定するには、以下の SQL シェルの例で示すように区切り識別子を使用する必要があります。

USER>>USE DATABASE Samples
SAMPLES>>USE DATABASE "User"
USER>>

指定した dbname が存在しない場合、Caché によって SQLCODE -400 エラーが発行されます。

USE DATABASE コマンドは特権を必要とする操作です。USE DATABASE を使用する前に、適切な特権を有するユーザとしてログインする必要があります。特権がない場合は、SQLCODE -99 エラー (特権違反) が返されます。

$SYSTEM.Security.Login()Opens in a new tab メソッドを使用して、以下のようにユーザに適切な特権を割り当ててください。

   DO $SYSTEM.Security.Login("_SYSTEM","SYS")
   &sql(      )

$SYSTEM.Security.Login メソッドを呼び出すには、%Service_Login:Use 特権が必要です。詳細は、"インターシステムズ・クラス・リファレンス" の "%SYSTEM.SecurityOpens in a new tab" を参照してください。

ObjectScript の ZNSPACE コマンド、または SET $NAMESPACE 文を使用して、異なるネームスペースに切り替えることもできます。

xDBC による実行

USE DATABASE コマンドが xDBC により実行されると、サーバ・プロセスはシミュレートされた接続リセットを実行します。サーバ・プロセスにより使用されるデータ構造は削除されます。ただし、コミット・モードは変更されません。READ COMMITTED 設定も変更されません。トランザクションが進行中の場合、トランザクションは実行を継続するだけであり、コミットやロールバックは実行されません。

関連項目

FeedbackOpens in a new tab