DROP PROCEDURE (Transact-SQL)
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス
1 つ以上のストアド プロシージャまたはプロシージャ グループを SQL Server の現在のデータベースから削除します。
構文
-- Syntax for SQL Server and Azure SQL Database
DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ ,...n ]
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
IF EXISTS
適用対象: SQL Server (SQL Server 2016 (13.x) から現在のバージョンまで)。
条件付きでは既に存在する場合にのみ、プロシージャを削除します。
schema_name
プロシージャが属するスキーマの名前を指定します。 サーバー名またはデータベース名は指定できません。
procedure
削除するストアド プロシージャまたはストアド プロシージャ グループの名前です。 番号の付いたプロシージャ グループ内の個々のプロシージャは削除できません。プロシージャ グループ全体が削除されます。
ベスト プラクティス
ストアド プロシージャを削除する前に、依存オブジェクトを確認し、それらのオブジェクトを適切に修正します。 ストアド プロシージャを削除すると、これらのオブジェクトが更新されていない場合、依存オブジェクトとスクリプトがエラーになることがあります。 詳細については、「ストアド プロシージャの依存関係の表示」を参照してください
Metadata
既存のプロシージャの一覧を表示するには、sys.objects カタログ ビューに対してクエリを実行します。 プロシージャの定義を表示するには、sys.sql_modules カタログ ビューに対してクエリを実行します。
セキュリティ
アクセス許可
プロシージャの CONTROL 権限か、プロシージャが属しているスキーマに対する ALTER 権限、または db_ddladmin 固定サーバー ロールのメンバーシップが必要です。
例
次の例では、現在のデータベースから dbo.uspMyProc
ストアド プロシージャを削除します。
DROP PROCEDURE dbo.uspMyProc;
GO
次の例では、現在のデータベースからいくつかのストアド プロシージャを削除します。
DROP PROCEDURE dbo.uspGetSalesbyMonth, dbo.uspUpdateSalesQuotes, dbo.uspGetSalesByYear;
次の例では、削除、 dbo.uspMyProc
ストアド プロシージャが存在するが、プロシージャが存在しない場合のエラーは発生しません。 この構文はで新しい SQL Server 2016 (13.x)です。
DROP PROCEDURE IF EXISTS dbo.uspMyProc;
GO
参照
ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
ストアド プロシージャの削除
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示