- PR -

別テーブルにINSERT

1
投稿者投稿内容
みゅーたん
常連さん
会議室デビュー日: 2005/04/28
投稿数: 31
投稿日時: 2006-05-31 16:30
SQL初心者です。宜しくお願いします。

SQLサーバ2000を使用しています。

Aテーブルにある一部の項目を、BテーブルにINSERTしたいと思っています。
項目名はAテーブルとBテーブルで一致しています。
項目数が多いため、なんとか簡単にできないかと思っているのですが・・・。

Aテーブル
No | test1 | test2
---------------------
1 | てすと | てすと2

BテーブルにINSERT
Bテーブル
No | test2
------------
1 | テスト2 

どうしたらよいでしょうか。教えてください。
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-05-31 16:35
手動でやるなら
INSERT INTO B(TEST2, ...) SELECT TEST2, ... FROM A
みたいな感じでできます。

また、AにINSERTされたタイミングで自動的にBにも
INSERTしたい場合はトリガーを使えばいいでしょう。
みゅーたん
常連さん
会議室デビュー日: 2005/04/28
投稿数: 31
投稿日時: 2006-05-31 17:27
vincentさんありがとうございます。

手動でやりたいと思っているので、
手動の方法を使わせていただきたいと思っています。

が、ひとつ書き忘れてしまったのですが、
Bテーブルに処理日時の項目があるので、
Aテーブルの内容の一部と、処理日付(システム日付)を
INSERTしたいと思っています。
どうしたら処理日付も加えられるでしょうか・・・。
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-05-31 18:02
処理日付列の型がdatetime型で、列名がUPDATE_DATEとすると

INSERT INTO B(TEST2, UPDATE_DATE, ...)
SELECT TEST2, GetDate(), ... FROM A

でいけます。処理日付列の型が文字列(NVARCHAR)で、日付のみ
必要な場合は

INSERT INTO B(TEST2, UPDATE_DATE, ...)
SELECT TEST2, CONVERT(NVARCHAR,GetDate(),111), ... FROM A

になります。
みゅーたん
常連さん
会議室デビュー日: 2005/04/28
投稿数: 31
投稿日時: 2006-05-31 18:10
vincentさんありがとうございます。

無事できました!!!

大変助かりましたありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)