5 つのテーブル a、b、c、d、e と、それらに対して操作を行う 10 個のストアド プロシージャがあるとします。だから、今私はストアド プロシージャまたはこのすべてのテーブルの列名とストアド プロシージャの列名 (このテーブルでの操作のために取得) をチェックする何かを書きたいと思っています。修正しました。情報スキーマから列名を取得し、テーブルが同期しているかどうかを確認できます。しかし、ストアド プロシージャの場合はどうすればよいですか?
質問する
216 次
1 に答える
0
テーブル構造を比較するには、使用できます
information_schema.columns
SP 比較を行うには、ハッシュを使用して行うことができます (ハッシュはソース/ターゲットの両方で同じである必要があります)。
declare @spname sysname
declare @spdefinition varchar(max)
declare @hashedVal varbinary(4000)
set @spname = '<Your sp name here>'
set @spdefinition = (SELECT OBJECT_DEFINITION (OBJECT_ID(@spname )))
set @hashedVal = (select HashBytes('SHA1', @spdefinition))
select @hashedVal
于 2012-06-25T10:29:25.493 に答える