獲取SqlServer存儲過程定義的3種方法


第一種:

declare @p_text varchar(max)

SELECT @p_text= text 
FROM syscomments 
WHERE id = ( SELECT id FROM sysobjects WHERE name = ' 存儲過程名稱 ')

print @p_text

 

但當存儲過程內容比較長的時候,text的內容顯示不完全。

第二種:

declare @p_text varchar(max)
SELECT @p_text= definition FROM sys.sql_modules 
JOIN sys.objects ON sys.sql_modules.object_id=sys.objects.object_id --and type='P' 
and sys.objects.name='sp_MSupd_dboInd_IndependenceReportTo' 

print @p_text

 

內容格式良好,但是Print本身不能顯示超過 8000字節的內容,所以存儲過程內容太長這種方式還是不行。

第三種:

exec sp_helptext '[sp_MSupd_dboRpt_Customer]'

返回定義的內容但是一個文本行內容一個記錄行,這樣就可以解決上面的不足了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM