-1

5 つのテーブル a、b、c、d、e と、それらに対して操作を行う 10 個のストアド プロシージャがあるとします。だから、今私はストアド プロシージャまたはこのすべてのテーブルの列名とストアド プロシージャの列名 (このテーブルでの操作のために取得) をチェックする何かを書きたいと思っています。修正しました。情報スキーマから列名を取得し、テーブルが同期しているかどうかを確認できます。しかし、ストアド プロシージャの場合はどうすればよいですか?

4

1 に答える 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 に答える