ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について

このトピックの投稿一覧へ

なし Re: MagicV10+SQLServer2008R2でのデータ登録更新の処理速度について

msg# 1.4
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2013-7-29 9:33
Kurogane  常連   投稿数: 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つの集計元テーブルから
複数のテーブルへの更新を行なうといった場合は、カーソルを用いる
という方法もあります。
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約