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

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 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