DROP PROCEDURE (Transact-SQL)
1 つ以上のストアド プロシージャまたはプロシージャ グループを SQL Server 2012 の現在のデータベースから削除します。
構文
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.sql_modules (Transact-SQL)