ストアド プロシージャの削除
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
この記事では、SQL Server のストアド プロシージャを、SQL Server Management Studio または Transact-SQL を使用して削除する方法について説明します。
制限事項と制約事項
プロシージャを削除すると、依存オブジェクトとスクリプトを更新してプロシージャの削除を反映しない限り、そのオブジェクトとスクリプトが失敗する可能性があります。 ただし、名前とパラメーターが同じである新しいプロシージャを作成し、削除したプロシージャと置き換えた場合、そのプロシージャを参照する他のオブジェクトは正常に処理されます。 詳細については、「 ストアド プロシージャの依存関係の表示」を参照してください。
アクセス許可
プロシージャが属しているスキーマに対する ALTER 権限、またはプロシージャに対する CONTROL 権限が必要です。
SQL Server Management Studio を使用します。
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース]を展開し、プロシージャが属するデータベースを展開し、 [プログラミング]を展開します。
[ストアド プロシージャ] を展開し、削除するプロシージャを右クリックして、[削除] を選択します。
プロシージャに依存するオブジェクトを表示するには、[依存関係の表示] を選択します。
適切なプロシージャが選択されていることを確認して、[OK] を選択します。
任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。
Transact-SQL の使用
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース]を展開し、プロシージャが属するデータベースを展開するか、ツール バーの利用可能なデータベースの一覧からデータベースを選択します。
[ファイル] メニューで [新しいクエリ] を選択します。
現在のデータベースから削除するストアド プロシージャの名前を取得します。 オブジェクト エクスプローラーから、 [プログラミング] を展開し、 [ストアド プロシージャ]を展開します。 または、クエリ エディターで次のステートメントを実行します。
SELECT name AS procedure_name , SCHEMA_NAME(schema_id) AS schema_name , type_desc , create_date , modify_date FROM sys.procedures;
次の例をコピーしてクエリ エディターに貼り付け、現在のデータベースから削除するストアド プロシージャの名前を挿入します。
DROP PROCEDURE [<stored procedure name>]; GO
任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。