DROP SCHEMA

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime

Tar bort ett schema och tar bort katalogen som är associerad med schemat från filsystemet. Ett undantag utlöses om schemat inte finns i systemet.

Även om användning av SCHEMA och DATABASE är utbytbar, SCHEMA är att föredra.

Permissions

Om du vill släppa ett schema i Unity Catalog måste du ha behörigheten MANAGE för schemat eller vara dess ägare, plus USE SCHEMA i schemat och USE CATALOG i katalogen där schemat finns.

Enligt objekthierarkin kan ägaren till den överordnade katalogen och användare med MANAGE i den överordnade katalogen också utföra den här åtgärden.

Syntax

DROP SCHEMA [ IF EXISTS ] schema_name [ RESTRICT | CASCADE ]

Parametrar

  • OM EXISTERAR

    Om det anges utlöses inget undantag när schemat inte finns.

  • schema_name

    Namnet på ett befintligt schema i systemet. Om namnet inte finns genereras ett undantag.

  • BEGRÄNSA

    Om det anges begränsas möjligheten att släppa ett icke-tomt schema och detta är aktiverat som standard.

  • KASKAD

    Om det anges släpper du alla associerade tabeller och funktioner rekursivt.

    Note

    Om du släpper ett schema med mjuk CASCADE borttagning i Unity Catalog tas schemat och dess underordnade objekt bort. Datafiler för hanterade tabeller och volymer behålls för att möjliggöra ett 7-dagars återställningsfönster. När återställningsfönstret är slut tas datafilerna bort permanent (rensas) inom 48 timmar. Filer för externa tabeller och externa volymer tas inte bort. Mer information finns i Livscykeln för objektlagring i Unity Catalog.

    Varning! Om schemat hanteras av Hive-metastore på arbetsytan, kommer borttagningen av ett schema med CASCADE att rekursivt ta bort alla filer på den angivna platsen, oavsett tabelltyp (hanterad eller extern).

Exempel

-- Create `inventory_schema` Database
> CREATE SCHEMA inventory_schema COMMENT 'This schema is used to maintain Inventory';

-- Drop the schema and its tables
> DROP SCHEMA inventory_schema CASCADE;

-- Drop the schema using IF EXISTS
> DROP SCHEMA IF EXISTS inventory_schema CASCADE;