C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: SQLの質問


(過去ログ 32 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■15589 / inTopicNo.1)  SQLの質問
  
□投稿者/ トルネコ (6回)-(2008/03/16(Sun) 23:54:26)

分類:[データベース全般] 

SQL文の質問です。

testtable1
列 ID  値1 値2
  1  aaa bbb 
  2  ccc  ddd
  3  eee  fff

testtable2
列 ID  値1 値2
  1 111 bbb
  2 333 444
4 555

結果
ID 値1 値2
   1 111 bbb
2 333 444
4 555

となるようにしたいです
分かりにくいと思いますが、
テーブル1の値の変更点がテーブル2にある場合
テーブル1を変更するといったものです。

追加されるID 4はそのまま追加

結果的にはテーブル2と同じになりますがSQLの
アップデートのみで作成する方法をお願いできますでしょうか。
引用返信 編集キー/
■15590 / inTopicNo.2)  Re[1]: SQLの質問
□投稿者/ やじゅ (251回)-(2008/03/17(Mon) 00:49:47)
やじゅ さんの Web サイト
No15589 (トルネコ さん) に返信
> testtable1
> 列 ID  値1 値2
>   3  eee  fff
> 分かりにくいと思いますが、
>

分かりにくいですね、ID3は削除ですか?
DBはなんでしょうか?
引用返信 編集キー/
■15597 / inTopicNo.3)  Re[2]: SQLの質問
□投稿者/ トルネコ (7回)-(2008/03/17(Mon) 08:20:21)
No15590 (やじゅ さん) に返信
> ■No15589 (トルネコ さん) に返信
>>testtable1
>>列 ID  値1 値2
>>  3  eee  fff
>>分かりにくいと思いますが、
> >
>
> 分かりにくいですね、ID3は削除ですか?
> DBはなんでしょうか?

すみません。ID3は削除です。
DBはオラクル10gです

お願い致します。
引用返信 編集キー/
■15605 / inTopicNo.4)  Re[3]: SQLの質問
□投稿者/ 出水 (12回)-(2008/03/17(Mon) 10:41:40)
質問文を読む限り、testtable1を全部deleteして、
testtable2をtesttable1に丸ごとコピーって事がしたい、としか読めないんですが…

updateのみ、ってのは速度的な観点からですか?
#行の追加や削除があるのでupdateのみは無理ですけど
引用返信 編集キー/
■15619 / inTopicNo.5)  Re[4]: SQLの質問
□投稿者/ やじゅ (253回)-(2008/03/17(Mon) 14:01:41)
> updateのみ、ってのは速度的な観点からですか?
> #行の追加や削除があるのでupdateのみは無理ですけど

oracleなら、行の挿入と更新を 1ステートメントで行う
MERGE = UPDATE + INSERT があります。
http://www.shift-the-oracle.com/sql/merge.html

MERGEして、更新対象外は削除って感じでしょうか
引用返信 編集キー/
■15633 / inTopicNo.6)  Re[5]: SQLの質問
□投稿者/ はつね (511回)-(2008/03/17(Mon) 15:52:31)
はつね さんの Web サイト
> oracleなら、行の挿入と更新を 1ステートメントで行う
> MERGE = UPDATE + INSERT があります。
> http://www.shift-the-oracle.com/sql/merge.html
>
> MERGEして、更新対象外は削除って感じでしょうか

Oracle10gならばMERGE文でDELETEもできますよ。
ただし、質問者の方が書かれている「アップデートのみで作成する方法」とは違っちゃってますね。

出水さんも書かれていますが、追加や削除があるので「アップデートのみで作成する方法」は存在しないと思います。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -