该meta表relevantOverrides如下:
security j
startDate d
endDate d
dataItem s
val f
Run Code Online (Sandbox Code Playgroud)
我有一个更新查询:
relevantOverrides:update val:163390j from relevantOverrides where security = 18767
Run Code Online (Sandbox Code Playgroud)
val列有一个float类型,但我需要将更新后的值作为整数插入.
由于列表是原子类型,因此不能容易地添加许多不同类型的列表.
执行所需操作的一种方法是追加泛型null(::)或要更新的类型的值(在本例中为long),这会将列表转换为混合列表.
然后,您可以在从列表中删除泛型null并更新之前更新where子句指定的索引处的值.
q)t
security startDate endDate dataItem val
-------------------------------------------------
2 2011.11.15 2003.11.17 dol 2.310108
8 2015.03.27 2015.01.12 nca 0.8724017
6 2012.06.15 2015.05.03 dfp 1.024432
9 2012.04.15 2001.07.18 hon 8.671096
0 2000.09.02 2009.12.29 ofm 7.278528
q)update val:-1_ @[val,(::);where security=6;:;163390j] from t
security startDate endDate dataItem val
------------------------------------------------
2 2011.11.15 2003.11.17 dol 2.310108
8 2015.03.27 2015.01.12 nca 163390
6 2012.06.15 2015.05.03 dfp 1.024432
9 2012.04.15 2001.07.18 hon 8.671096
0 2000.09.02 2009.12.29 ofm 7.278528
Run Code Online (Sandbox Code Playgroud)
尽管有可能,但是当它在桌面上运行时可能会遇到困难:
首先,您将无法将结果表保存为磁盘,而不是平面表,而不会遇到问题
如果您能够解决这个问题,那么由于列不是向量,您的查询性能会降低.
更新功能本身将是昂贵的,因为该列需要被修改.