次の表を考えます。
tableA: | tableB:
|
col1 col2 | col3 col4
----------- | ----------
1 4 | 1 x
2 5 | 2 x
3 6 | 1 z
| 2 z
| 3 z
(1-4、2-5、3-6)からのマッピングで col3 の値を変更することにより、tableB のいくつかの行に追加される DB2 にストアド プロシージャを記述したいtableA
ので、これらの行が追加されます。
の行を調べるとcol4 = x
、これらの行を tableB に追加する必要があります。
| 4 A1 -> (only 1 changed to its mapping value 4)
| 2 A1
| 1 B1
| 5 B1 -> (only 2 changed to its mapping value 5)
| 4 C1 -> (1 changed to its mapping value 4)
| 5 C1 -> (and 2 changed to its mapping value 5)
の行を調べてcol4 = z
、これらの行を tableB に追加する必要があります。
| 4 A2 -> (only 1 changed to its mapping value 4)
| 2 A2
| 3 A2
| 1 B2
| 5 B2 -> (only 2 changed to its mapping value 5)
| 3 B2
| 1 C2
| 2 C2
| 6 C2 -> (only 3 changed to its mapping value 6)
| 4 D2 -> (1 changed to its mapping value 4)
| 5 D2 -> (and 2 changed to its mapping value 5)
| 3 D2
| 4 E2 -> (1 changed to its mapping value 4)
| 2 E2
| 6 E2 -> (and 3 changed to its mapping value 6)
| 1 F2
| 5 F2 -> (2 changed to its mapping value 5)
| 6 F2 -> (and 3 changed to its mapping value 6)
| 4 G2 -> (1 changed to its mapping value 4)
| 5 G2 -> (and 2 changed to its mapping value 5)
| 6 G2 -> (and 3 changed to its mapping value 6)
ここで、私の例では次のことに注意してください。
- 2 対 1 のマッピング ([1,x] と [2,x] の 2 つの行で表される) であるため、tableB にさらに 3 つの行が追加されます。
- および 3 対 1 のマッピング ([1,z]、[2,z]、および [3,z] の 3 行で表される) であるため、tableB にさらに 7 行が追加されます。
tableB に 4 対 1 のマッピング (4 行で表される) がある場合、さらに 15 行を追加する必要がありました。
tableB に 5 対 1 のマッピング (5 行で表される) がある場合、さらに 31 行を追加する必要がありました...
(これらのマッピングを tableA のマッピングと混同しないでください。違います)