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>
Copy

有关具体语法、使用说明和示例,请参阅:

使用说明

要查看会话的当前角色、次要角色、数据库、架构和仓库,请使用相应的上下文函数。例如:

SELECT CURRENT_ROLE(),
       CURRENT_SECONDARY_ROLES(),
       CURRENT_WAREHOUSE(),
       CURRENT_DATABASE(),
       CURRENT_SCHEMA();
Copy
+----------------+--------------------------+---------------------+--------------------+------------------+
| CURRENT_ROLE() | CURRENT_SECONDARY_ROLES  | CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() |
|----------------+--------------------------+---------------------+--------------------+------------------|
| SYSADMIN       | ALL                      | MYWH                | MYTESTDB           | PUBLIC           |
+----------------+--------------------------+---------------------+--------------------+------------------+

有关更多详细信息,请参阅 上下文函数

示例

使用仓库:

USE WAREHOUSE mywarehouse;
Copy

使用架构:

USE mytestdb.testschema;
Copy
语言: 中文