2012-03-14 9 views
0

私は2つのテーブルを持っています。文字列を生成し、それがデータベースに存在するかどうかを確認してから使用してください

Table1 
------ 
ID(identity column) 
Name 
FC 

Table2 
------ 
ID 
Name 

は、私が1000本の記録を持っています。表2

表2

から表1の値を挿入する必要があります。

私はSQL Server 2008の挿入ステートメントを使用しています。

私はFCの値が手動で生成されるべきである

insert into Table1(Name,FC) 

select Name, SELECT value as FC from Table2 

を使用。

私はFCで生成された値は、すでにそれはFCのために新たな価値を創造し、私はスカラー関数に取り組んでいます

を挿入する必要がありですdatabase.ifに存在していないか確認する必要があります。

アイデアをお寄せいただきありがとうございます。

+0

「FCの値は手動で生成する必要がありますか」とはどういう意味ですか? 'FC'はユーザーが提供しているということですか? – Seph

+0

これはこれまでのところ非常に不明です。これは特に: 'SELECT value AS FC from Table2' - あなたの以前の記述によると、' Table2'は 'value'カラムを持っていません。 'value'は' Table2'で検索しなければならない名前で、対応する 'Table2.ID'は' Table1'に挿入する新しい 'FC'として返されるべきですか?値が見つからなかった場合、最初に 'Table2'に挿入され、新しい' Table2.ID'が 'FC'として使用されますか? –

答えて

0

このシナリオでは、SQL Serverで一意の識別子、つまりNEWID()を使用できます。GUIDを使用する主な利点は、それらがすべての領域と時間にわたって一意であることです。これは、データウェアハウスの場合のように、複数のSQL Serverのレコードを1つのテーブルに統合する場合に便利です。 GUIDは、複数のSQL Server間で展開されている行を追跡するためにSQL Serverのレプリケーションによって頻繁に使用されます....

guidは次の方法で実装できます。...

 INSERT INTO Table1(Name,FC)SELECT Name, NEWID() from Table2 
関連する問題