This functor updates or inserts a sub-table corresponding to the given chain of keys into a table.
Name | Type | Description |
---|---|---|
Table | Table Type | The input table. |
Keys | Tuple Type | Chain of keys identifying the sub-table that will be updated or insert. |
Sub Table | Table Type | Sub-table that will be inserted into the input table. The column names in the sub-table must match the corresponding names in the input table. The column types must also be compatible. |
Name | Type | Description |
---|---|---|
Result | Table Type | The resulting table. |
This functor inserts elements corresponding to the given tuple of keys into the input table.
Example 1:
Given the table below
Key1* | Key2* | Key3* | Value1 | Value2 | Value3 |
---|---|---|---|---|---|
1 | “a” | 11 | 12 | “bbbb” | 23 |
1 | “b” | 22 | 12 | “cccc” | 23 |
2 | “d” | 22 | 12 | “dddd” | 12 |
inserting a sub-table corresponding to the tuple of keys <2, “a”>
, where 2 corresponds to column “Key1” and “a” corresponds to column “Key2”,
Key3* | Value1 | Value2 | Value3 |
---|---|---|---|
11 | 12 | “bbbb” | 14 |
22 | 12 | “aaaa” | 23 |
results in
Key1* | Key2* | Key3* | Value1 | Value2 | Value3 |
---|---|---|---|---|---|
1 | “a” | 11 | 12 | “bbbb” | 23 |
1 | “b” | 22 | 12 | “cccc” | 23 |
2 | “a” | 11 | 12 | “bbbb” | 14 |
2 | “a” | 22 | 12 | “aaaa” | 23 |
2 | “d” | 22 | 12 | “dddd” | 12 |
Example 2:
Inserting the sub-table corresponding to the tuple of keys <2>
, where 2 corresponds to column “Key1”,
Key2* | Key3* | Value1 | Value2 | Value3 |
---|---|---|---|---|
“a” | 11 | 12 | “bbbb” | 14 |
“a” | 22 | 12 | “aaaa” | 23 |
“d” | 22 | 12 | “dddd” | 12 |
results in
Key1* | Key2* | Key3* | Value1 | Value2 | Value3 |
---|---|---|---|---|---|
1 | “a” | 11 | 12 | “bbbb” | 23 |
1 | “b” | 22 | 12 | “cccc” | 23 |
2 | “a” | 11 | 12 | “bbbb” | 14 |
2 | “a” | 22 | 12 | “aaaa” | 23 |
2 | “d” | 22 | 12 | “dddd” | 12 |
If there is already a sub-table corresponding to the sub-table being inserted in the table, the existent sub-table is replaced by the new sub-table. The same is true if the sub-table being inserted is empty. In this case, the existent sub-table is removed from the input table.
It is not possible to insert a sub-table indexed by keys from arbitrary key columns. For example, in the example above, it is not possible to insert a sub-table corresponding to keys <2, 22>
, where 2 corresponds to the first column (“Key1”) and 22 corresponds to the third column (“Key3”). To do this, first reorder the key columns using the Reorder Table Column functor.
SetTableByKey