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

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

  • catalog_name

    Name of the catalog to use. If the catalog does not exist, an exception is thrown.

Examples

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

> USE CATALOG 'hive_metastore';

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

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

-- Setting the schema within the curret catalog
> USE DATABASE some_db;
> SELECT  current_catalog(), current_database();
  some_cat some_db

-- Resetting both catalog and schema
> USE DATABASE main.my_db;
> SELECT  current_catalog(), current_database();
  main my_db

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