USE CATALOG

Applies to: check marked yes Databricks SQL check marked yes Databricks Runtime 10.4 LTS and above check marked yes Unity Catalog only

Note

This page describes the USE CATALOG SQL command, which sets the current catalog for a session. For the USE CATALOG Unity Catalog privilege, which users need to interact with objects in a catalog, see USE CATALOG.

Sets the current catalog. After the current catalog is set, partially and unqualified identifiers for tables, functions, and views that are referenced by SQLs are resolved from the current catalog.

Setting the catalog also resets the current schema to default.

Syntax

{ USE | SET } CATALOG [ catalog_name | ' catalog_name ' ]

Parameter

Examples

-- Use the 'hive_metastore' which exists.
> USE CATALOG hive_metastore;

> USE CATALOG 'hive_metastore';

-- Use a catalog given as a string variable
> DECLARE mycat = 'main';
> USE CATALOG IDENTIFIER(mycat);

-- Use the 'some_catalog' which doesn't exist
> USE CATALOG `some_catalog`;
  Error: NO_SUCH_CATALOG_EXCEPTION

-- Setting the catalog resets the schema to `default`
> USE CATALOG some_cat;
> SELECT current_catalog(), current_schema();
  some_cat default

-- Setting the schema in the current catalog
> USE SCHEMA some_schema;
> SELECT current_catalog(), current_schema();
  some_cat some_schema

-- Resetting both catalog and schema
> USE SCHEMA main.my_schema;
> SELECT current_catalog(), current_schema();
  main my_schema

-- Setting the catalog resets the schema to `default` again
> USE CATALOG some_cat;
> SELECT current_catalog(), current_schema();
  some_cat default