從當(dāng)前數(shù)據(jù)庫(kù)中刪除一個(gè)或多個(gè)存儲(chǔ)過(guò)程或過(guò)程組。
DROP PROCEDURE { procedure } [ ,...n ]
procedure
是要?jiǎng)h除的存儲(chǔ)過(guò)程或存儲(chǔ)過(guò)程組的名稱。過(guò)程名稱必須符合標(biāo)識(shí)符規(guī)則。有關(guān)更多信息,請(qǐng)參見(jiàn)使用標(biāo)識(shí)符??梢赃x擇是否指定過(guò)程所有者名稱,但不能指定服務(wù)器名稱和數(shù)據(jù)庫(kù)名稱。
n
是表示可以指定多個(gè)過(guò)程的占位符。
若要查看過(guò)程名稱列表,請(qǐng)使用 sp_help。若要顯示過(guò)程定義(存儲(chǔ)在 syscomments 系統(tǒng)表內(nèi)),請(qǐng)使用 sp_helptext。除去某個(gè)存儲(chǔ)過(guò)程時(shí),將從 sysobjects 和 syscomments 系統(tǒng)表中刪除有關(guān)該過(guò)程的信息。
不能除去組內(nèi)的個(gè)別過(guò)程,必須除去整個(gè)過(guò)程組。
不論用戶定義的系統(tǒng)過(guò)程(以 sp_ 為前綴)是否為當(dāng)前數(shù)據(jù)庫(kù),都將其從 master 數(shù)據(jù)庫(kù)中除去。如果在當(dāng)前的數(shù)據(jù)庫(kù)未找到系統(tǒng)過(guò)程,則 Microsoft® SQL Server™ 嘗試將其從 master 數(shù)據(jù)庫(kù)除去。
默認(rèn)情況下,將 DROP PROCEDURE 權(quán)限授予過(guò)程所有者,該權(quán)限不可轉(zhuǎn)讓。然而,db_owner 和 db_ddladmin 固定數(shù)據(jù)庫(kù)角色成員和 sysadmin 固定服務(wù)器角色成員可以通過(guò)在 DROP PROCEDURE 內(nèi)指定所有者除去任何對(duì)象。
下例刪除 byroyalty 存儲(chǔ)過(guò)程(在當(dāng)前數(shù)據(jù)庫(kù)內(nèi))。
DROP PROCEDURE byroyalty相關(guān)文章
GO