次の方法で共有


ストアド プロシージャの削除

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 でストアド プロシージャを削除する方法について説明します。

  • 作業を開始する準備: 制限事項と制約事項、セキュリティ

  • プロシージャの削除に使用するもの:  SQL Server Management Studio、Transact-SQL

作業を開始する準備

制限事項と制約事項

プロシージャを削除すると、依存オブジェクトとスクリプトを更新してプロシージャの削除を反映しない限り、そのオブジェクトとスクリプトが失敗する可能性があります。 ただし、名前とパラメーターが同じである新しいプロシージャを作成し、削除したプロシージャと置き換えた場合、そのプロシージャを参照する他のオブジェクトは正常に処理されます。 詳細については、「ストアド プロシージャの依存関係の表示」を参照してください。

セキュリティ

権限

プロシージャが属しているスキーマに対する ALTER 権限、またはプロシージャに対する CONTROL 権限が必要です。

ストアド プロシージャを削除する方法

次のどちらかを使用します。

  • SQL Server Management Studio

  • Transact-SQL

SQL Server Management Studio の使用

オブジェクト エクスプローラーでプロシージャを削除するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [データベース] を展開し、プロシージャが属するデータベースを展開し、[プログラミング] を展開します。

  3. [ストアド プロシージャ] を展開し、削除するプロシージャを右クリックして、[削除] をクリックします。

  4. プロシージャに依存するオブジェクトを表示するには、[依存関係の表示] をクリックします。

  5. 適切なプロシージャが選択されていることを確認して、[OK] をクリックします。

  6. 任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。

[先頭に戻る]

Transact-SQL の使用

クエリ エディターでプロシージャを削除するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [データベース] を展開し、プロシージャが属するデータベースを展開するか、ツール バーの利用可能なデータベースの一覧からデータベースを選択します。

  3. [ファイル] メニューの [新しいクエリ] をクリックします。

  4. 現在のデータベースから削除するストアド プロシージャの名前を取得します。 オブジェクト エクスプローラーから、[プログラミング] を展開し、[ストアド プロシージャ] を展開します。 または、クエリ エディターで次のステートメントを実行します。

    SELECT name AS procedure_name 
        ,SCHEMA_NAME(schema_id) AS schema_name
        ,type_desc
        ,create_date
        ,modify_date
    FROM sys.procedures;
    
  5. 次の例をコピーしてクエリ エディターに貼り付け、現在のデータベースから削除するストアド プロシージャの名前を挿入します。

    DROP PROCEDURE <stored procedure name>;
    GO
    
  6. 任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。

[先頭に戻る]

関連項目

参照

DROP PROCEDURE (Transact-SQL)

概念

ストアド プロシージャの作成

ストアド プロシージャの変更

ストアド プロシージャの名前の変更

ストアド プロシージャの定義の表示

ストアド プロシージャの依存関係の表示