Insa
Insa is used to insert elements from single-sized arrays, from an index.
Insa START ARRAY_LIST
Insa START, NUMBER ARRAY_LIST
Insa START, NUMBER, LIMIT ARRAY_LIST
START is an integer expression that gives the index in the arrays from which the insertions are made. It cannot exceed the highest index and the smallest index available in the array list.NUMBER is an integer expression that gives the number of positions to be inserted. It must be strictly positive. If not given by the syntax, '1' will be used.LIMIT is an integer expression that gives the index in the arrays where the insertion ends. LIMIT cannot exceed the highest index and the smallest index available in the array list.ARRAY_LIST is a list of arrays variable (at least one) separated by commas.Examples
Let's imagine we have three arrays called COMPOSER(1..11), NAME(1..11), and BIRTH_YEAR(1..11), that have at the beginning the following values:
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | BUXTEHUDE | Dietrich | 1637 |
| 2 | BACH | Johann Sebastian | 1685 |
| 3 | MOZART | Wolfgang Amadeus | 1756 |
| 4 | BEETHOVEN | Ludwig | 1770 |
| 5 | SCHUBERT | Frantz | 1797 |
| 6 | WAGNER | Richard | 1813 |
| 7 | STRAUSS | Richard | 1864 |
| 8 | SCHOENBERG | Arnold | 1874 |
| 9 | BERG | Alban | 1885 |
| 10 | STOCKHAUSEN | Karlheintz | 1928 |
| 11 | 0 |
After execution of:
Insa 1,2 COMPOSER, NAME, BIRTH_YEAR| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | 0 | ||
| 2 | 0 | ||
| 3 | BUXTEHUDE | Dietrich | 1637 |
| 4 | BACH | Johann Sebastian | 1685 |
| 5 | MOZART | Wolfgang Amadeus | 1756 |
| 6 | BEETHOVEN | Ludwig | 1770 |
| 7 | SCHUBERT | Frantz | 1797 |
| 8 | WAGNER | Richard | 1813 |
| 9 | STRAUSS | Richard | 1864 |
| 10 | SCHOENBERG | Arnold | 1874 |
| 11 | BERG | Alban | 1885 |
Insa 6,2,10 COMPOSER, NAME, BIRTH_YEAR
| Index | NAME | FIRSTNAME | BIRTH YEAR |
|---|---|---|---|
| 1 | 0 | ||
| 2 | 0 | ||
| 3 | BUXTEHUDE | Dietrich | 1637 |
| 4 | BACH | Johann Sebastian | 1685 |
| 5 | MOZART | Wolfgang Amadeus | 1756 |
| 6 | 0 | ||
| 7 | 0 | ||
| 8 | BEETHOVEN | Ludwig | 1770 |
| 9 | SCHUBERT | Frantz | 1797 |
| 10 | WAGNER | Richard | 1813 |
| 11 | BERG | Alban | 1885 |
Insa is used to insert elements (by default 1) from a set of single-sized arrays.
In every table, the elements are shifted to the end of the table (this is the default value for LIMIT) by a number of positions equal to NUMBER. The last NUMBER elements in the table are lost, and elements with null values are inserted from the START position (null dates, 0 for numeric values, and empty strings).
When LIMIT has a value that is smaller than the lowest limit of the arrays, elements from the START position to the LIMIT (inclusively) are shifted, the array elements after LIMIT are not shifted, and the NUMBER elements from position LIMIT-NUMBER+1 to LIMIT are lost.
| 8 | At least one of the indexes is outside the limits of one of the arrays. |
| 10 | START, NUMBER, or LIMIT are not numeric values. |
| 50 | NUMBER is less or equal to 0. |
| 55 | At least one of the arrays is not single sized. |