DROP PROCEDURE (Transact-SQL)

1 つ以上のストアド プロシージャまたはプロシージャ グループを SQL Server 2012 の現在のデータベースから削除します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

DROP { PROC | PROCEDURE } { [ schema_name. ] procedure } [ ,...n ]

引数

  • schema_name
    プロシージャが属するスキーマの名前を指定します。 サーバー名またはデータベース名は指定できません。

  • procedure
    削除するストアド プロシージャまたはストアド プロシージャ グループの名前です。 番号の付いたプロシージャ グループ内の個々のプロシージャは削除できません。プロシージャ グループ全体が削除されます。

ベスト プラクティス

ストアド プロシージャを削除する前に、依存オブジェクトを確認し、それらのオブジェクトを適切に修正します。 ストアド プロシージャを削除すると、依存オブジェクトとスクリプトが更新されていない場合、それらのオブジェクトがエラーになることがあります。 詳細については、「ストアド プロシージャの依存関係の表示」を参照してください。

メタデータ

既存のプロシージャの一覧を表示するには、sys.objects カタログ ビューに対してクエリを実行します。 プロシージャの定義を表示するには、sys.sql_modules カタログ ビューに対してクエリを実行します。

セキュリティ

権限

プロシージャの CONTROL 権限か、プロシージャが属しているスキーマに対する ALTER 権限、または db_ddladmin 固定サーバー ロールのメンバーシップが必要です。

使用例

次の例では、現在のデータベースから dbo.uspMyProc ストアド プロシージャを削除します。

DROP PROCEDURE dbo.uspMyProc;
GO

次の例では、現在のデータベースからいくつかのストアド プロシージャを削除します。

DROP PROCEDURE dbo.uspGetSalesbyMonth, dbo.uspUpdateSalesQuotes, dbo.uspGetSalesByYear;

関連項目

参照

ALTER PROCEDURE (Transact-SQL)

CREATE PROCEDURE (Transact-SQL)

sys.objects (Transact-SQL)

sys.sql_modules (Transact-SQL)

概念

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