USE SCHEMA¶
セッションのアクティブ/現在のスキーマを指定します。
データベースがセッションに指定されていない場合、クエリで参照されるオブジェクトおよびセッションで実行される他の SQL ステートメントは、(
db_name.schema_name.object_nameの形式で)オブジェクトにデータベースおよびスキーマ(名前空間 とも呼ばれる)で完全修飾する必要があります。完全修飾オブジェクト名の詳細については、 オブジェクト名の解決 をご参照ください。セッションにデータベースが指定されているが、セッションにスキーマが指定されていない場合、セッションで実行されるクエリやその他の SQL ステートメントで参照されるオブジェクトは、オブジェクトのスキーマで(
schema_name.object_nameの形式で)修飾する必要があります。データベースとスキーマがユーザー・セッションに指定されている場合、 SQL ステートメントとクエリでは、修飾されていないオブジェクト名が許可されます。
- こちらもご参照ください。
構文¶
パラメーター¶
[db_name.]nameセッションに使用するスキーマの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
スキーマ名が完全修飾されている場合、 SCHEMA キーワードはオプションです(
db_name.schema_nameの形式)。ユーザー・セッションでデータベースが指定され、 SCHEMA キーワードが含まれている場合、データベース名(
db_name)はオプションです。
例¶
ユーザー・セッションで指定されたデータベースで myschema スキーマを使用します。
mydb データベースで myschema スキーマを使用します。
次の例は、非修飾名を使用してオブジェクトを参照するコマンドが、スキーマを切り替える USE コマンドの後に異なる出力を生成する方法を示しています。テーブル、テーブルデータ、ビュー、ユーザー定義関数などは、スキーマによって異なります。
SHOW TABLES コマンドが schema_one のコンテキストで実行される場合は、そのスキーマのオブジェクトを反映した出力が生成されます。
USE コマンドが schema_two スキーマに切り替えた後、SHOW TABLES コマンドは異なるオブジェクトのセットを反映した出力を生成します。
次の例では、あるスキーマから別のスキーマに変更し、元のスキーマに戻ります。元のスキーマの名前は変数に格納されます。次のコマンドを実行します。
これらのコマンドの出力は、現在のスキーマの値がどのように変化するかを示しています。