目次

データベース間でレコードを更新する(テーブル内レコードをまとめて更新)

目次

データベース間でレコードを更新する場合の例です。

書式

update [コピー先データベース名].[dbo].テーブル名
  set コピー先テーブル列名1=コピー元テーブル列名1, コピー先テーブル列名2=コピー元テーブル列名2, ... ,コピー先テーブル列名n=コピー元テーブル列名n
  from [コピー元データベース名].[dbo].テーブル名 as テーブル別名
  where 条件式

例1

下記の例では、データベース1のprofileテーブルのレコードを、データベース2のprofileテーブルのレコードで更新します。 更新するレコードはidで対応付いたレコードになります。

update [Database1].dbo.profile 
set name=a.name, nameyomi=a.nameyomi, englishname=a.englishname, comment=a.comment
from [Database2].dbo.profile as a
where profile.id=a.id

例2

以下のテーブルを準備します。

Sandbox1データベース SimpleEmproyee テーブル
idnameborn
1Penta1970-01-0100:00:00.000
2KumaGorou1972-04-0100:00:00.000
3ToriZaburou1974-05-0100:00:00.000
4Gonzalles1981-06-0100:00:00.000
Sandbox2データベース SimpleEmproyee テーブル
idnameborn
1
2
3
4


次のSQL文を実行します。

update [Sandbox2].dbo.SimpleEmproyee set name=a.name, born=a.born from [Sandbox1].dbo.SimpleEmproyee as a
  where SimpleEmproyee.id=a.id
AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2009-11-02
Copyright © 1995–2025 iPentec all rights reserverd.