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;