1

2つのテーブルがあります。1つは2番目の古いバージョンです。新しいフィールドから2番目のフィールドにフィールドを追加したいと思います。フィールドを手動で解析せずにこれを行う簡単な方法はありますか(多くあります)?

繰り返しになりますが、フィールドを追加しているだけなので、現在のテーブルにするときに古いテーブルからデータを削除する必要はありません。

ありがとう!

PS SQLServer2005。

4

3 に答える 3

3

Table1これにより、にない列が表示されTable2ます。

SELECT *
FROM syscolumns
WHERE ID = Object_ID('Table1') Name Not IN (SELECT Name from sysColumns where ID = Object_ID('Table2'))

名前、長さ、xtype、およびその他のフィールドを取得しsyscolumnsてDDLステートメントに変換するのは非常に簡単です

SELECT 'alter table table2 add column ' + name + ' '+ type_name(xtype ) + etc, etc
FROM syscolumns
WHERE ID = Object_ID('Table1') Name Not IN (SELECT Name from sysColumns where ID = Object_ID('Table2'))
于 2011-01-06T18:31:04.323 に答える
0

はい、ツールtablediff.exeリンクテキストまたはMicrosoftTechnetがあります

于 2011-01-06T18:25:23.110 に答える
0
  1. これを行うツールがあります

これは、テーブルの列を一覧表示するクエリです。

SELECT *
FROM syscolumns
WHERE Id IN (SELECT ID from sysobjects WHERE name = 'TABLENAME')

両方のテーブルに対してクエリを実行し、を除外するUNIONと、少なくともパンチリストができます。

于 2011-01-06T18:25:40.850 に答える