DROP SCHEMA (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウスMicrosoft Fabric の SQL データベース

データベースからスキーマを削除します。

Transact-SQL 構文表記規則

構文

-- Syntax for SQL Server and Azure SQL Database  
  
DROP SCHEMA  [ IF EXISTS ] schema_name  
-- Syntax for Azure Synapse Analytics
  
DROP SCHEMA schema_name  

引数

存在する場合
適用対象: SQL Server (SQL Server 2016 (13.x) から現在のバージョンまで)。

条件付きでは既に存在する場合にのみ、スキーマを削除します。

schema_name
データベースで認識されるスキーマの名前を指定します。

注釈

削除するスキーマは、オブジェクトが含まれていないスキーマであることが必要です。 オブジェクトがスキーマに含まれている場合、DROP ステートメントは失敗します。

スキーマに関する情報は、sys.schemas カタログ ビューで確認できます。

注

スキーマは、データベース ユーザーと同等ではありません。 システム カタログ ビューを使用して、データベース ユーザーとスキーマの違いを特定します。

アクセス許可

スキーマに対してCONTROL権限が必要か、データベース上の SCHEMA 権限をALTERする必要があります。

例

次の例では、まず単一の CREATE SCHEMA ステートメントを実行し、 Sprockets が所有するスキーマ Krishna を作成します。次にテーブル Sprockets.NineProngs を作成した後、SELECT に対して Anibal 権限を許可し、SELECT に対して Hung-Fu 権限を拒否します。

CREATE SCHEMA Sprockets AUTHORIZATION Krishna   
    CREATE TABLE NineProngs (source INT, cost INT, partnumber INT)  
    GRANT SELECT TO Anibal   
    DENY SELECT TO [Hung-Fu];  
GO  

次のステートメントでは、このスキーマを削除します。 先に、スキーマに含まれるテーブルを削除する必要があることに注意してください。

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO