重要なポイント

テーブル構造が完全に一致したときの便利技!

説明

ルールは単純です。2つのテーブル構造が完全に一致させる/している場合のみ使用します。

本番データからテスト環境にデータを移したり、バックアップしてあるデータから復元したりする際に簡単なSQL文でデータ移行ができます。

構文

パターン1

<例題>

学生マスタ【基データ】(student_mst_base)から学生マスタ(stundent_mst)にすべてのレコードを移行してください。

insert into student_mst
 select * from student_mst_base smb;

パターン2

<例題>

学生マスタ【基データ】(student_mst_base)から学生マスタ(stundent_mst)にすべてのレコードを移行してください。

insert into student_mst(
student_no
,student_kj
,student_kn
,student_cd
,gakka_no
,seibetu_ku
,age_nb
,test_su
,delete_ku
,insert_at
,update_at
)
select
 smb.student_no
,smb.student_kj
,smb.student_kn
,smb.student_cd
,smb.gakka_no
,smb.seibetu_ku
,smb.age_nb
,smb.test_su
,smb.delete_ku
,smb.insert_at
,smb.update_at
 from student_mst_base smb;

こんなテクニックも!

<例題>

学生マスタ【基データ】(student_mst_base)から学生マスタ(stundent_mst)にすべてのレコードを移行してください。
但し、下記カラムについては固定値を登録すること。

  • 学科NO(gakka_no)は、〈5〉
  • 削除区分(delete_ku)は、〈0〉
  • 登録日時(insert_at)は、now()
  • 更新日時(update_at)は、now()
insert into student_mst(
student_no
,student_kj
,student_kn
,student_cd
,gakka_no
,seibetu_ku
,age_nb
,test_su
,delete_ku
,insert_at
,update_at
)
select
 smb.student_no
,smb.student_kj
,smb.student_kn
,smb.student_cd
,5
,smb.seibetu_ku
,smb.age_nb
,smb.test_su
,'0'
,now()
,now()
 from student_mst_base smb;