1

テーブル型を宣言しており、多くのストアド プロシージャで参照されています。

次に、そのテーブル タイプに列を追加します。

SQLサーバーはテーブルタイプの変更を許可しないため. ドロップして再作成する必要があります。しかし、ドロップすると、他のストアドプロシージャで参照されているというエラーがスローされます。したがって、ドロップできません。

ストアド プロシージャを削除せずに続行するにはどうすればよいですか?

4

1 に答える 1

0

テーブルタイプを使用しているすべてのSPをスクリプト化します。

select o.name, o.type, m.definition
from sys.sql_modules m
join sys.objects o on o.object_id=m.object_id
where m.definition like '%tbl_type%'

示されている定義を使用せず、名前だけを使用し、オブジェクトブラウザーからSSMSを使用してスクリプトを作成することをお勧めします。

  • それらをドロップします。
  • テーブルタイプを削除します。
  • 新しい列を含めて作成します。
  • ストアドプロシージャを再作成します。
  • テスト。
于 2012-10-14T07:43:27.550 に答える