私はSQLを初めて使ったので、あまり複雑ではありません。SQLの更新クエリ - 参照を逆転する
現在、外部キー制約が実装されていないと私は、2つのテーブルを持っている:
Table Foo
============
ID | BarID
------------
1 | NULL
2 | NULL
3 | NULL
と
Table Bar
============
ID | FooID
------------
101 | 1
102 | 2
103 | 3
をあなたが見ることができるように、バーのテーブルの行は、それらが関連しているFOOS知っているが、 Fooテーブルの行は、関係するバーを認識しません。 は、私の周りにこれを切り替えたいので、私は得る:
Table Foo
============
ID | BarID
------------
1 | 101
2 | 102
3 | 103
私はFooのテーブルの上にTE BarIDを設定するSQLクエリをしたいです。擬似コードで:
for each Foo in FooTable:
Bar = select Bar from BarTable where Bar.FooID == Foo.ID
set Foo.BarID = Bar.ID
set Bar.FooID = NULL
おかげ
EDIT: 私はあなたがfooにバーからの参照をクリアしたいと思われるのMicrosoft SQL Server 2008の
あなたが迷っている場合にそれを行う必要があります - それは厄介なDBをマッサージ中の中間段階です適切な外部キー制約を使用して構造をより良いものに変換します。 FK制約を追加することは次のステップになりますが、FooはBarを参照する必要があります。 –
お持ちのSQLサーバーは? – triclosan
私はこれを行うには非常に多くの異なる方法を期待していませんでした...彼らのいくつかは他の人よりも練習していますか? –