すべての外部キー制約の方法を除去するためのMSSQL

すべての外部キー制約文を取得するためにデータベースを削除するには、SQL文を見つけるためにインターネット

しかし、それは、単に問い合わせた実行することを発見し、実行をコピー・アウトしなければならなかった、より多くのトラブル

だから、より便利な自動化するために、SPを書きました

コードは以下の通りであります:

 

SQLコード   コレクションコード
  1. CREATE  PROCEDURE  sp_drop_all_fkを  
  2.   
  3. として  
  4.   
  5. 宣言  @sql  VARCHAR(255)  
  6. 宣言  dropsql_cursor  カーソル のために   
  7. 選択 'テーブル変更' + OBJECT_NAME(fkeyid)+ 'ドロップ制約' + OBJECT_NAME(constid)+ CHAR(10)  から  sysreferences  
  8.   
  9. オープン  dropsql_cursor  
  10.   
  11. フェッチ  dropsql_cursor   @sql  
  12.   
  13. 開始  TRANを  
  14.   
  15. @@ FETCH_STATUS = 0ながら、  
  16. ベギン  
  17.       
  18.     実行(@sql)  
  19.       
  20.     @@エラー<> 0の場合  
  21.     ベギン  
  22.         ロールバック  
  23.         リターン  
  24.     終わり  
  25.   
  26.     フェッチ  dropsql_cursor   @sql  
  27.   
  28. 終わり  
  29. DEALLOCATE  dropsql_cursor  
  30.   
  31. コミット  
  32. GO  

ます。https://www.cnblogs.com/zhangchenliang/archive/2012/12/05/2802522.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33858336/article/details/93495291