2016-12-15 45 views
0

我知道我們可以通過執行任務>生成腳本>存儲過程來完成此操作。使用sqlcmd實用程序生成存儲過程列表

有沒有辦法使用sqlcmd來做到這一點? 我打算寫一個批處理文件來自動執行它。

+0

你可以用SSDT做到這一點。還可以驗證,版本和部署您的架構和更改 –

+0

可能的重複[如何在SQL Server Management Studio 2008中自動執行「生成腳本」任務?](http://stackoverflow.com/questions/483568/how-可以我自動化的生成腳本任務在SQL服務器管理工​​作室2) – TheGameiswar

+0

這可能也有幫助。 http://stackoverflow.com/questions/7567530/how-to-script-a-stored-procedure-from-tsql –

回答

1

您可以組合系統表sys.procedures和函數object_definition

-- Return the name and definition of first three SPs in the current db. 
SELECT TOP 3 
    Name, 
    OBJECT_DEFINITION(object_id) AS SQLStatement 
FROM 
    sys.procedures 
ORDER BY 
    Name 
; 

警告字;如果使用sp_rename重命名過程,則返回舊定義。這是連接上的closed bug