Here’s how to use modify() function.
Description:
Modify the field values of a record.
Syntax:
r.modify(xi:Fi,…)
Note:
The function modifies the field values in record r, the status of r will be changed to 1(modify) after being modified. Automatically update the index, if any, and check distinctness.
Parameters:
r |
The record to be modified |
xi |
Modification expression |
Fi |
Name of the field to be modified. The ith field in r will be modified if Fi isn’t supplied. |
r' |
The new record that will replace record r |
Options:
@r(r') |
Replace record r with record r' according to the former’s order |
@f(r') |
Modify a certain field value of record r with record r' |
Return value:
The modified record r
Example:
|
A |
|
1 |
=[[1,"Lucy",29]].new(~(1):ID,~(2):Name,~(3):Age) |
|
2 |
=A1(1).modify(2,"Petter") |
|
3 |
=A2.modify(30:Age) |
|
4 |
=A3.modify(3,33:Age) |
|
5 |
=[[4,"Lily",23]].new(~(1):SID,~(2):SName,~(3):SAge) |
|
6 |
=A4.modify@r(A5(1)) |
|
7 |
=A6.modify@f(([["ella"]].new(~(1):Name))(1)) |
|
Related functions:
Description:
Modify field values in a table sequence.
Syntax:
T.modify(k,xi:Fi,…) |
Modify the kth record, which is equal to T(k).modify(xi:Fi,…) |
T.modify(k:A,xi:Fi,…) |
Modify the records from the kth record to the (k+|A|-1)th record |
Note:
The function modifies one or more records at the specified position(s). The status of the records which have been modified will be changed to 1. Automatically update the index, if any, and check distinctness.
Parameters:
k |
The position at which the record will be modified. If k exceeds the limit, then append a new record in the end. |
xi |
The value of Fi field to be modified |
Fi |
Name of the field of the record which will be modified. If Fi is omitted, then modify the ith field of T. |
T |
A table sequence |
A |
A sequence or an integer; If A is an integer, then it is equal to to(A) |
Options:
@n |
Return the newly-modified records or record sequences |
@r(k:A) |
Modify table sequence T using squence A from the kth record according to the order of the fields |
@f(k:A) |
Modify table sequence T using squence A from the kth record; only the common fields are modified. |
Return value:
The modified table sequence T
Example:
|
A |
|
||
1 |
=demo.query("select * from DEPARTMENT") |
|
||
2 |
=A1.modify(1,"Sales",5) |
Modify the first and the second fields of the first record |
||
3 |
=A1.modify(2,6:MANAGER) |
Modify the MANAGER field of the second record |
||
4 |
=A1.modify@n(2:1,"AAA":DEPT,76:MANAGER) |
|
||
5 |
=create(DeptName,ManagerID) |
|
||
6 |
=A5.modify(1:A1,DEPT:DeptName,MANAGER:ManagerID) |
Append a new record in the end
because 1 exceeds the limit |
||
7 |
=A1.delete(A1.select(MANAGER>5)) |
|
||
8 |
=A5.modify@r(1:A7) |
Modify A5 using A7 from the first record |
||
9 |
=create(DeptName,MANAGER) |
|
||
10 |
=A9.modify@f(1:A7) |
Modify MANAGER field only |
Related functions:
Description:
Assign value(s) to one or more members of a sequence according to the specified position(s).
Syntax:
A.modify(k,x) |
Assign x to the kth member of sequence A |
A.modify(k,X) |
Assign members of X to members of A in order from the kth position to the (k+|X|-1)th position |
Note:
The function assigns x to the kth member of sequence A or members of X to the members of A from the kth position to the number (k+|X|-1)th position in order. Automatically update the index, if any, and check distinctness.
Parameters:
A |
A sequence |
k |
A member position; If k is greater than the length of sequence A, then append the member in the end |
x |
A member value |
X |
A sequence |
Options:
@n |
Return the modified record or a record sequence of modified records |
Return value:
A sequence
Example:
|
A |
|
1 |
=["a","c","d","e","f"] |
|
2 |
=A1. modify(2,"g") |
[a,g,d,e,f] |
3 |
=A1.modify(6,[2,4,5]) |
[a,g,d,e,f,2,4,5]; append the values at the end as the specified position execeeds the limit |
4 |
=demo.query("select * from STUDENTS") |
|
5 |
=A4.modify@n(2:3,ID+10:ID) |
Return a record sequence of modified records |
Related functions: