本章介绍alter()函数的多种用法。
修改序表中的字段
语法:
T.alter(Fi,…;F’i,…)
备注:
修改序表T中的字段,字段顺序为Fi,…,未列出字段按原序依次排列,参数Fi若在序表不存在则作为新字段添加,参数F’i为要删除的字段。
参数:
T |
序表 |
Fi |
字段名称 |
F’i |
字段名称 |
返回值:
序表
示例:
|
A |
|
1 |
=demo.query("select class,studentid,subject,score from scores") |
表scores中的数据列如下: |
2 |
=A1.alter(classname;CLASS) |
在序表A1中增加字段classname,删除字段CLASS |
3 |
=A2.alter(classname,STUDENTID,gender) |
增加字段gender,字段排列顺序为classname,STUDENTID,gender,剩下的字段UBJECT,SCORE依次往后排 |
4 |
=A3.alter(;gender,classname) |
删除字段gender,classname |
描述:
修改实表中的字段。
语法:
T.alter(F:x,…;F’,…)
备注:
给实表/复实表T添加字段F,用x计算填入;同时删除字段F’;该功能仅对列存情况支持。维及前面的排序字段不得调整。
参数:
T |
实表/复实表 |
F |
要添加的字段名称 |
x |
计算表达式 |
F’ |
表T中已有的字段名称 |
返回值:
实表/复实表
示例:
|
A |
|
1 |
=file("emp.ctx") |
已存在的组表文件 |
2 |
=A1.open() |
打开组表的基表 |
3 |
=A2.cursor().fetch() |
查看基表中的数据 |
4 |
=A2.alter(NEW_Salary:SALARY+1000;GENDER) |
给基表增加字段,字段名为NEW_Salary,字段值为表达式SALARY+1000计算后的值,同时删除字段GENDER |
5 |
=A2.cursor().fetch() |
此时查看基表中的数据,可以看到新增的字段NEW_Salary,并且GENDER字段已被删除 |