USE <オブジェクト>¶
現在のセッションに使用するロール、ウェアハウス、データベース、またはスキーマを指定します。
セッションのロールは、セッションで実行されるクエリおよびその他の SQL ステートメントでアクセスできるオブジェクトを決定します。
セッションでクエリの実行やデータのロード/アンロードを含む他の DML ステートメントを実行するには、ウェアハウスが 必要 です。
データベースがセッションに指定されていない場合、クエリで参照されるオブジェクトおよびセッションで実行される他の SQL ステートメントは、(
db_name.schema_name.object_name
の形式で)オブジェクトにデータベースおよびスキーマ(名前空間 とも呼ばれる)で完全修飾する必要があります。完全修飾オブジェクト名の詳細については、 オブジェクト名の解決 をご参照ください。セッションにデータベースが指定されているが、セッションにスキーマが指定されていない場合、セッションで実行されるクエリやその他の SQL ステートメントで参照されるオブジェクトは、オブジェクトのスキーマで(
schema_name.object_name
の形式で)修飾する必要があります。データベースとスキーマがユーザー・セッションに指定されている場合、 SQL ステートメントとクエリでは、修飾されていないオブジェクト名が許可されます。
構文¶
USE ROLE <name>
USE WAREHOUSE <name>
USE [ DATABASE ] <name>
USE [ SCHEMA ] [<db_name>.]<name>
特定の構文、使用上の注意、および例については、以下をご参照ください。
使用上の注意¶
セッションの現在のロール、セカンダリロール、データベース、スキーマ、ウェアハウスを表示するには、対応するコンテキスト関数を使用します。例:
SELECT CURRENT_ROLE(),
CURRENT_SECONDARY_ROLES(),
CURRENT_WAREHOUSE(),
CURRENT_DATABASE(),
CURRENT_SCHEMA();
+----------------+--------------------------+---------------------+--------------------+------------------+
| CURRENT_ROLE() | CURRENT_SECONDARY_ROLES | CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() |
|----------------+--------------------------+---------------------+--------------------+------------------|
| SYSADMIN | ALL | MYWH | MYTESTDB | PUBLIC |
+----------------+--------------------------+---------------------+--------------------+------------------+
詳細については、 コンテキスト関数 をご参照ください。
例¶
ウェアハウスを使用する:
USE WAREHOUSE mywarehouse;
スキーマを使用する:
USE mytestdb.testschema;