すべての外部キー制約文を取得するためにデータベースを削除するには、SQL文を見つけるためにインターネット
しかし、それは、単に問い合わせた実行することを発見し、実行をコピー・アウトしなければならなかった、より多くのトラブル
だから、より便利な自動化するために、SPを書きました
コードは以下の通りであります:
- CREATE PROCEDURE sp_drop_all_fkを
- として
- 宣言 @sql VARCHAR(255)
- 宣言 dropsql_cursor カーソル のために
- 選択 'テーブル変更' + OBJECT_NAME(fkeyid)+ 'ドロップ制約' + OBJECT_NAME(constid)+ CHAR(10) から sysreferences
- オープン dropsql_cursor
- フェッチ dropsql_cursor に @sql
- 開始 TRANを
- @@ FETCH_STATUS = 0ながら、
- ベギン
- 実行(@sql)
- @@エラー<> 0の場合
- ベギン
- ロールバック
- リターン
- 終わり
- フェッチ dropsql_cursor に @sql
- 終わり
- DEALLOCATE dropsql_cursor
- コミット
- GO
ます。https://www.cnblogs.com/zhangchenliang/archive/2012/12/05/2802522.htmlで再現