問題タブ [sp-msforeachtable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server - EXEC sp_msforeachtable を使用するとテーブルの FOREIGN KEY の競合が発生する
Microsoft SQL Server を使用して、あるデータベースから別のデータベースにデータを移行しようとしています。どちらのデータベースにも、外部キーによって参照される「プロパティ/場所」タイプのテーブルがあります。
残念ながら、2 つのテーブルで参照されているエンティティは同じですが、主キーは同じではありません。そのため、データを移行するために、外部キー制約を一時的に無効にし、データを適切に挿入および更新してから、制約を再度有効にしようとしています。
ただし、次のメッセージが表示されます。
ALTER TABLE ステートメントが FOREIGN KEY 制約 "FK__TwelveCri__Store__114A936A" と競合しました。データベース「API」、テーブル「dbo.Properties」、列「ID」で競合が発生しました。
エラーがスローされる一般的な理由は理解できますが (表の列と の列StoreID
の一致が見つからない)、この特定のケースでエラーが発生する理由がわかりません。Reports
ID
Properties
最後のSELECT
ステートメントは結果を返しません。これは、リレーションシップが適切に更新された場合に期待されることです。EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL";
ただし、おそらくステートメントから、上記のエラー メッセージがまだ表示されます。
アドバイスをいただければ幸いです。
sql - DB 内のすべてのテーブルを切り捨てる
次のスクリプトを実行して、特定の DB 内のすべてのテーブルを削除/切り捨てました。
上記のスクリプトは、すべての DB のすべてのテーブルを切り捨てますか、それとも実行中の DB だけを切り捨てますか?