DROP SCHEMA (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス
データベースからスキーマを削除します。
構文
-- Syntax for SQL Server and Azure SQL Database
DROP SCHEMA [ IF EXISTS ] schema_name
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
DROP SCHEMA schema_name
引数
IF EXISTS
適用対象: SQL Server (SQL Server 2016 (13.x) から現在のバージョンまで)。
条件付きでは既に存在する場合にのみ、スキーマを削除します。
schema_name
データベースで認識されるスキーマの名前を指定します。
注釈
削除するスキーマは、オブジェクトが含まれていないスキーマであることが必要です。 オブジェクトがスキーマに含まれている場合、DROP ステートメントは失敗します。
スキーマに関する情報は、sys.schemas カタログ ビューで確認できます。
注意 SQL Server 2005 以降、スキーマの動作が変更されました。 その結果、スキーマがデータベース ユーザーと同じであると想定しているコードでは、正しい結果が返されない場合があります。 CREATE SCHEMA、ALTER SCHEMA、DROP SCHEMA、CREATE USER、ALTER USER、DROP USER、CREATE ROLE、ALTER ROLE、DROP ROLE、CREATE APPROLE、ALTER APPROLE、DROP APPROLE、ALTER AUTHORIZATION のいずれかの DDL ステートメントが使用されたことのあるデータベースでは、sysobjects などの古いカタログ ビューを使用しないでください。 そのようなデータベースでは、代わりに新しいカタログ ビューを使用してください。 新しいカタログ ビューでは、SQL Server 2005 で導入されたプリンシパルとスキーマの分離が考慮されます。 カタログ ビューの詳細については、「カタログ ビュー (Transact-SQL)」を参照してください。
アクセス許可
スキーマに対する CONTROL 権限、またはデータベースに対する ALTER ANY SCHEMA 権限が必要です。
例
次の例では、まず単一の 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
参照
CREATE SCHEMA (Transact-SQL)
ALTER SCHEMA (Transact-SQL)
DROP SCHEMA (Transact-SQL)
EVENTDATA (Transact-SQL)