2テーブル1 [dbo].[t_Olympic_Country]
私はすべての郡リストを持っていますが、人口とGDPは空です。現在、私は人口とGDPデータを持つ国のほとんどを持っているが、それは同じ数のデータを持っていない2番目のテーブルを持っています。私は、Cuntry名が[dbo].[t_Olympic_Country]
と一致する場合、第2臨時机[dbo].[temptable1]
からGDPと人口の値を最初に[dbo].[t_Olympic_Country]
に入力したいと思います。つまり、[dbo].[t_Olympic_Country]
の条件付き一括更新を意味します。SQLサーバー2012テーブル1のテンポラリテーブルからの条件付き更新
INSERT INTO [dbo].[t_Olympic_Country]( [GDP] ) SELECT temp.[GDP] FROM [dbo].[temptable1] temp WHERE (temp.[Country_Name] IN (SELECT tl.[Country_Name] FROM [dbo].[t_Olympic_Country] tl)) and temp.Country_Name not like 'Indep. Olympic Participants' order by temp.[Country_Name]
メッセージ515、レベル16、状態2、行1は、テーブル「オリンピック 'COUNTRY_ID' 列にNULL値を挿入できません:
私はエラーを与える以下のことを試してみました。 dbo.t_Olympic_Country ';列はNULLを許可しません。 INSERTは失敗します。 ステートメントが終了しました。次のようにASC
私のテーブル構造を見つけてください:
[DBO] [t_Olympic_Country]:
Country_Id Country_Name Country_Size c_population GDP
1 Afghanistan Null Null NULL
2 Albania Null Null NULL
3 Algeria Null Null NULL
4 American Samoa Null Null NULL
5 Andorra Null Null NULL
[DBO] [temptable1]:
Country_Name GDP c_population
Afghanistan 20038215159.38730 31627506
Albania 13211513725.58810 2894475
Algeria 213518488688.12000 38934334
American Samoa 645000000.00000 55434
Andorra 3249000000.00000 72786
「Country_Id」列にNULL以外の値を挿入することも、「Country_Id」が自動インクリメントの新しい表を作成することもできます。この場合、SQL Serverが自動的にIDを割り当てるため、NULLを挿入することはOKです。 –