USE <object>

指定用于当前会话的角色、仓库、数据库或架构:

  • 会话的角色决定了在会话中执行的查询和其他 SQL 语句中可以访问的对象。

  • 会话需要 仓库 才能在会话中执行查询和其他 DML 语句,包括加载/卸载数据。

  • 如果在会话中没有指定数据库或架构,则在会话中执行的查询和其他 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();
    
    +----------------+--------------------------+---------------------+--------------------+------------------+
    | CURRENT_ROLE() | CURRENT_SECONDARY_ROLES  | CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() |
    |----------------+--------------------------+---------------------+--------------------+------------------|
    | SYSADMIN       | ALL                      | MYWH                | MYTESTDB           | PUBLIC           |
    +----------------+--------------------------+---------------------+--------------------+------------------+
    
    Copy

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

示例

使用仓库:

USE WAREHOUSE mywarehouse;
Copy

使用架构,指定了该架构的完全限定名称:

USE mytestdb.testschema;
Copy

使用架构,未指定该架构的完全限定名称(要求该架构的数据库已在会话中使用):

USE testschema;
Copy
语言: 中文