あるデータベースから余分なデータをすべて取得し、別のデータベースに挿入しようとしています。しかし、列名を省略したいので、これを実現するためにテーブル名のみをハードコーディングしようとしています。ただし、ID のようなテーブルでシステム生成されるフィールドがいくつかありますが、これはデータとしてはそれほど必要ではありませんが、それでも整合性の問題が発生します。上記の列を省略して詳細を挿入するにはどうすればよいですか。省略する列の名前も変更されます。完全な挿入はできません。余分なデータを追加するだけです。
これまでのところ、私はこれに来ました。
while 1=1
begin
if exists(select 1 from db1.table1 not in (select * from db2.table1)
begin
insert into db2.table1 (columns) select (columns) from db1.table1
end
if(rowCount=0)
break
end
ハードコーディングを最小限に抑えるためにこれを最適化する方法を教えてください クエリが大きいため、意図的に pk 部分を残しました。