本章介绍modify()函数的多种用法。
描述:
修改记录字段值。
语法:
r.modify(xi:Fi,…)
备注:
修改记录r中的字段值。
参数:
r |
待修改的记录。 |
xi |
修改表达式。 |
Fi |
待修改的字段名,Fi省略,则修改r中第i个字段。 |
r' |
用来修改记录r的新记录值。 |
选项:
@r(r') |
按照字段的顺序,用记录r’,修改记录r。 |
@f(r') |
用记录r’按照字段名称修改记录r。 |
返回值:
记录
示例:
|
A |
|
1 |
=[[1,"Lucy",29]].new(~(1):ID,~(2):Name,~(3):Age) |
|
2 |
=A1(1).modify(2,"Petter") |
修改第一第二个字段:
|
3 |
=A2.modify(30:Age) |
修改 Age 字段:
|
4 |
=A3.modify(3,33:Age) |
修改第一个字段和 Age 字段:
|
5 |
=[[4,"Lily",23]].new(~(1):SID,~(2):SName,~(3):SAge) |
|
6 |
=A4.modify@r(A5(1)) |
将A5(1)成员有序填入A4中:
|
7 |
=A6.modify@f(([["ella"]].new(~(1):Name))(1)) |
修改 A6 字段值,仅修改Name 字段:
|
相关概念:
描述:
语法:
T.modify(k,xi:Fi,…) |
修改第k位置的记录,等同于T(k).modify(xi:Fi,…)。 |
T.modify(k:A,xi:Fi,…) |
从第k个记录开始,依次修改第k到第k+|A|-1个记录。 |
备注:
按照指定的位置,修改某条记录或某几条记录。修改记录时有索引则自动更新,并检查唯一性。
参数:
k |
修改记录的位置,当k越界时,在最后追加记录。 |
xi |
修改记录Fi字段的字段值。 |
Fi |
修改记录的字段名,Fi省略,则修改T中第i个字段。 |
T |
序表。 |
A |
序列或者整数,当A为整数时,等同于to(A)。 |
选项:
@n |
返回新修改的记录或序列。 |
@r(k:A) |
按照字段的顺序,从第k个记录开始,用序列A修改序表T。 |
@f(k:A) |
从第k个记录开始,用序列A按照字段名称修改序表T。仅修改A和T相同的字段名称对应的字段值。 |
返回值:
示例:
|
A |
|
1 |
=demo.query("select * from DEPARTMENT") |
|
2 |
=A1.modify(1,"Sales",5) |
修改第一条记录的第一第二个字段:
|
3 |
=A1.modify(2,6:MANAGER) |
修改第二条记录的 MANAGER字段值:
|
4 |
=A1.modify@n(2:1,"AAA":DEPT,76:MANAGER) |
返回更新后的第2条记录:
|
5 |
=create(DeptName,ManagerID) |
|
6 |
=A5.modify(1:A1,DEPT:DeptName,MANAGER:ManagerID) |
1越界,因此从后面追加记录:
|
7 |
=A1.delete(A1.select(MANAGER>5)) |
|
8 |
=A5.modify@r(1:A7) |
从第1个记录开始,用A7,修改A5。 |
9 |
=create(DeptName,MANAGER) |
|
10 |
=A9.modify@f(1:A7) |
仅修改MANAGER:
|
相关概念:
描述:
按照指定的位置,给一个或多个成员赋值。
语法:
A.modify(k,x) |
将序列A中第k个成员赋值为x。 |
A.modify(k,X) |
用序列X的成员依次给序列A中第k到第k+|X|-1个成员赋值,k<0则从后面开始数。 |
备注:
将x赋值给序列A中第k个成员,或者用序列X的成员依次给序列A中第k到第k+|X|-1个成员赋值。
参数:
A |
序列。 |
k |
成员位置,当k大于A的长度时,在最后追加成员。 |
x |
成员值。 |
X |
序列。 |
选项:
@n |
返回修改涉及到的记录或排列。 |
返回值:
序列
示例:
|
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],越界成员相当于追加。 |
4 |
=demo.query("select * from STUDENTS") |
|
5 |
=A4.modify@n(2:3,ID+10:ID) |
修改涉及到的排列 |
6 |
=A1. modify(-2,"h") |
[a,g,d,e,f,2,4,h,5],参数k<0则从后面开始数。 |
相关概念: