我知道this resource。但它没有说明.u.upd
采用什么参数以及如何检查它是否有效。
此语句执行时没有错误,但它似乎没有做任何事情:
.u.upd[`t;(`$"abc";1;2;3)]
如果我事先定义表格,例如
t:([] name:"aaa";a:1;b:2;c:3)
然后上面的.u.upd
仍然无误地运行,并且不会更改t
。
答案 0 :(得分:3)
.u.upd
与前缀形式的insert
(请参阅http://code.kx.com/q/ref/qsql/#insert)具有相同的函数签名。在最简单的情况下,.u.upd
可能会被定义为insert
。
所以:
.u.upd[`table;<records>]
例如:
q).u.upd:insert
q)show tbl:([] a:`x`y;b:10 20)
a b
----
x 10
y 20
q).u.upd[`tbl;(`z;30)]
,2
q)show tbl
a b
----
x 10
y 20
z 30
q).u.upd[`tbl;(`a`b`c;1 2 3)]
3 4 5
q)show tbl
a b
----
x 10
y 20
z 30
a 1
b 2
c 3
答案 1 :(得分:3)
有关tickerplants的事件序列,连接图等的文档可以在这里找到: http://www.timestored.com/kdb-guides/kdb-tick-data-store
<强> .u.upd [表名; tableData] 接受两个参数,用于插入数据 到一个命名表。通常从a调用此函数 feedhandler。它接受tableData,如果有的话,添加一个时间列 present,将其插入到内存表中,附加到日志文件中 最后增加了日志文件计数器。