SQL Server聯機叢書:刪除預存程序

來源:互聯網
上載者:User
刪除預存程序

不再需要預存程序時可將其刪除。如果另一個預存程序調用某個已刪除的預存程序,則 Microsoft SQL Server 2000 會在執行該調用過程時顯示一條錯誤資訊。但如果定義了同名和參數相同的新預存程序來替換已刪除預存程序,那麼引用該過程的其它過程仍能順利執行。例如,如果預存程序 proc1 引用預存程序 proc2,而 proc2 被刪除,但由建立了另一個名為 proc2 的預存程序,現在 proc1 將引用這一新預存程序,proc1 也不必重新編譯。

預存程序分組後,將無法刪除群組內的單個預存程序。刪除一個預存程序會將同一組內的所有預存程序都刪除。

DROP PROCEDURE

從當前資料庫中刪除一個或多個預存程序或過程組。

文法

DROP PROCEDURE { procedure } [ ,...n ]

參數

procedure

是要刪除的預存程序或預存程序組的名稱。過程名稱必須符合標識符規則。有關更多資訊,請參見使用標識符。可以選擇是否指定流程所有人名稱,但不能指定伺服器名稱和資料庫名稱。

n

是表示可以指定多個過程的預留位置。

注釋

若要查看過程名稱列表,請使用 sp_help。若要顯示流程定義(儲存在 syscomments 系統資料表內),請使用 sp_helptext。除去某個預存程序時,將從 sysobjectssyscomments 系統資料表中刪除有關該過程的資訊。

不能除去組內的個別過程,必須除去整個過程組。

不論使用者定義的系統過程(以 sp_ 為首碼)是否為當前資料庫,都將其從 master 資料庫中除去。如果在當前的資料庫未找到系統過程,則 Microsoft SQL Server 嘗試將其從 master 資料庫除去。

許可權

預設情況下,將 DROP PROCEDURE 許可權授予流程所有人,該許可權不可轉讓。然而,db_owner db_ddladmin 固定資料庫角色成員和 sysadmin 固定伺服器角色成員可以通過在 DROP PROCEDURE 內指定所有者除去任何對象。

樣本

下例刪除 byroyalty 預存程序(在當前資料庫內)。

DROP PROCEDURE byroyalty

GO

轉自: http://goaler.xicp.net/ShowLog.asp?ID=518

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.