让我们看看 的定义upsert
:
q)upsert
.[;();,;]
所以它只是一个Amend Entire:
.[d;();v;y] <=> v[d;y]
q).[1 2; (); ,; 3 4 5]
1 2 3 4 5
它看起来像,
在引擎盖下加入。但是应用相同的方法向表中添加一些行会产生不同的结果:
q)show t:((`a`b!1 2);(`a`b!3 4))
a b
---
1 2
3 4
q).[t;();,;(5 6;7 8)]
a b
---
1 2
3 4
5 6
7 8
q),[t;(5 6;7 8)]
`a`b!1 2
`a`b!3 4
5 6
7 8
出于某种原因q
,不想以,
与 Amend Entire 相同的方式将列表列表加入表中。我想知道为什么。
你能给我一些指示吗?