現在のメソッドの疑似コードの例を示します。一度に 1 行ずつ動作しないメソッドを誰かが知っている場合は、非常に感謝しています。MS SQL Server 2008 を使用しています。
define cursor for the data to be inserted (about 3 million records)
loop
(
insert record into table 1
use scope_identity() to get key
insert record into table 2 that references table 1
)
カーソルとループが遅いため、両方のテーブルに同時に何らかの挿入を行いたいと思います。
1 対 1 の関係を持つ 2 つの別々のテーブルに何かを挿入する理由について誰かが怒る前に、最初のテーブルは変更できず、後でデータ変換操作を参照するために 2 番目の (一時) テーブルの情報が必要だからです。 .
いいえ、変更できないため、変更できないテーブルに参照データを保持する一時的な列を追加できません。これは稼働中のシステムであり、テーブルを変更する権限がありません。
追加情報:
元
Source:
1 a big monkey
2 a tall elephant
3 a big giraffe
4 a tiny cow
5 a tall cow
Dest:
Table 1 Table 2
monkey 1 big
elephant 2 tall
giraffe 3 big
cow 4 tiny
cow 5 tall