2つのテーブルがあります。1つは2番目の古いバージョンです。新しいフィールドから2番目のフィールドにフィールドを追加したいと思います。フィールドを手動で解析せずにこれを行う簡単な方法はありますか(多くあります)?
繰り返しになりますが、フィールドを追加しているだけなので、現在のテーブルにするときに古いテーブルからデータを削除する必要はありません。
ありがとう!
PS SQLServer2005。
2つのテーブルがあります。1つは2番目の古いバージョンです。新しいフィールドから2番目のフィールドにフィールドを追加したいと思います。フィールドを手動で解析せずにこれを行う簡単な方法はありますか(多くあります)?
繰り返しになりますが、フィールドを追加しているだけなので、現在のテーブルにするときに古いテーブルからデータを削除する必要はありません。
ありがとう!
PS SQLServer2005。
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'))
はい、ツールtablediff.exeリンクテキストまたはMicrosoftTechnetがあります
これは、テーブルの列を一覧表示するクエリです。
SELECT *
FROM syscolumns
WHERE Id IN (SELECT ID from sysobjects WHERE name = 'TABLENAME')
両方のテーブルに対してクエリを実行し、を除外するUNION
と、少なくともパンチリストができます。