USE <object>¶
指定用于当前会话的角色、仓库、数据库或架构:
会话的角色决定了在会话中执行的查询和其他 SQL 语句中可以访问的对象。
会话需要 仓库 才能在会话中执行查询和其他 DML 语句,包括加载/卸载数据。
如果在会话中没有指定数据库或架构,则在会话中执行的查询和其他 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;
使用架构,未指定该架构的完全限定名称(要求该架构的数据库已在会话中使用):
USE testschema;