私は40種類以上のストアドプロシージャを用意していますが、これを印刷してリファクタリングして、手順を変更することができます。私はいくつかの可能性をいくつか見出してきましたが、これまでのところ私が望むものに合ったものはありませんでしたが、ちょっと微調整すれば解決できるかもしれません。最初SQL Server 2005のストアドプロシージャのソースコードを出力する
select
text
from
syscomments
where
id in (select id from sysobjects where xtype='p' and name LIKE 'qscore_Corp%')
は、これは、単一のライン上のすべてのコードがフォーマットされていない返します。
sp_helptextもオプションですが、複数のテキストを1つの長いテキストテーブルに連結する方法はわかりません。
私の目標は、各手順で使用した書式設定を使用して、これらの40の手順のソースを1つのテキストファイルから印刷できるようにすることです。
解決済み::Martinによって再び感謝します。 私は必要なprocsを引っ張って彼のソリューションに少し微調整を行いました。 DECLAREの@stored_procedure_codeのデータ型はnvarchar(MAX) SETの@stored_procedure_code = ''
SELECT @stored_procedure_code = @stored_procedure_code + '' + ISNULL(OBJECT_DEFINITION(object_id),'')
FROM sys.procedures WHERE name LIKE 'qscore_Corp%'
SELECT @stored_procedure_code AS [processing-instruction(x)] FOR XML PATH('')
のようなものスタジオはここですが、...データベース内のオブジェクトをスクリプト化する場合は、前のDROPステートメントの有無にかかわらず、すべてのストアード・プロシージャーをスクリプト化することができます。 – MatBailie