不知何故,我只能找到显示如何添加一列的示例。
所以我编写了这段代码,但是我知道有更好的方法可以做到这一点: 表t已经存在,列中填充了数据,我需要添加最初为空的新列。
t: update column1:` from t;
t: update column2:` from t;
t: update column3:` from t;
t: update column4:` from t;
我试过让它成为一个功能:
colNames:`column1`column2`column3`column4;
t:{update x:` from t}each colNamesList;
但是这只添加了一列并将其称为x。
任何改进此代码的建议都将不胜感激。我必须添加更多不仅仅是4列,因此我的代码很长。谢谢!
答案 0 :(得分:3)
实现这一目标的各种方法....
q)newcols:`col3`col4;
q)@[tab;newcols;:;`]
col1 col2 col3 col4
-------------------
a 1
b 2
c 3
还可以指定不同的类型
q)@[tab;newcols;:;(`;0N)]
col1 col2 col3 col4
-------------------
a 1
b 2
c 3
或进行功能更新
q)![`tab;();0b;newcols!count[newcols]#enlist (),`]
`tab