Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
Kurogane 
			
			 
	投稿数: 50
	
			 
	投稿数: 50
	
簡単に例を記載しますね。
集計元となるテーブルをtable_a、更新対象のテーブルをtable_bとします。
それぞれcolumn1(キー)とcolumn2を持ち、table_bのcolumn2を
集計し、table_aのcolumn2にセットします。
update table_a
set column2 = b.column2
from table_a a inner join
(select column1 column1,
sum(column2) column2
from tabole_b
group by column1) b on a.column1 = b.column2
insert into table_a
(column1,
column2)
select b.column1,
sum(b.column2)
from table_b b
where not exists
(select *
from table_a a
where a.column1 = b.column1)
group by b.column1
updateにてレコードが既に存在する分の更新を行ない、insertでは
not existsを用いてレコードが存在しない分の更新を行ないます。
上記は単純な例ですが、複雑なテーブル参照や、1つの集計元テーブルから
複数のテーブルへの更新を行なうといった場合は、カーソルを用いる
という方法もあります。
集計元となるテーブルをtable_a、更新対象のテーブルをtable_bとします。
それぞれcolumn1(キー)とcolumn2を持ち、table_bのcolumn2を
集計し、table_aのcolumn2にセットします。
update table_a
set column2 = b.column2
from table_a a inner join
(select column1 column1,
sum(column2) column2
from tabole_b
group by column1) b on a.column1 = b.column2
insert into table_a
(column1,
column2)
select b.column1,
sum(b.column2)
from table_b b
where not exists
(select *
from table_a a
where a.column1 = b.column1)
group by b.column1
updateにてレコードが既に存在する分の更新を行ない、insertでは
not existsを用いてレコードが存在しない分の更新を行ないます。
上記は単純な例ですが、複雑なテーブル参照や、1つの集計元テーブルから
複数のテーブルへの更新を行なうといった場合は、カーソルを用いる
という方法もあります。
	
		投票数:0
		平均点:0.00
	
			
		
	
投稿ツリー
- 
	
 MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(mysticage, 2013-2-18 11:02)
	
	- 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(nkmt, 2013-2-18 13:07)
	
	- 
	
 Re: Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(Tanda, 2013-2-19 11:50)
	
 - 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(mysticage, 2013-2-19 14:09)
	
 
 - 
	
 - 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(pu_mahalo, 2013-2-18 14:27)
	
	- 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(mysticage, 2013-2-19 14:13)
	
 
 - 
	
 - 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(Kurogane, 2013-2-20 13:47)
	
	- 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(mysticage, 2013-2-26 16:22)
	
 - 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(mysticage, 2013-7-26 19:37)
	
 
 - 
	
 - 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(Kurogane, 2013-7-29 9:33)
	
	- 
	
 Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について
	(mysticage, 2013-7-30 16:04)
	
 
 - 
	
 
 -