【问题标题】:kdb ticker plant: where to find documentation on .u.upd?kdb 股票代码工厂:在哪里可以找到有关 .u.upd 的文档?
【发布时间】:2013-11-20 19:04:26
【问题描述】:

我知道this resource。但它没有说明.u.upd 采用什么参数以及如何检查它是否有效。

这个语句执行没有错误,虽然它似乎没有做任何事情:

.u.upd[`t;(`$"abc";1;2;3)]

如果我事先定义了表格,例如

t:([] name:"aaa";a:1;b:2;c:3)

那么上面的.u.upd 仍然运行没有错误,并且不会改变t

【问题讨论】:

    标签: kdb q-lang


    【解决方案1】:

    .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
    

    【讨论】:

      【解决方案2】:

      可在此处找到包括事件序列、连接图等在内的有关 tickerplants 的文档: http://www.timestored.com/kdb-guides/kdb-tick-data-store

      .u.upd[tableName; tableData] 接受两个参数,用于插入数据 到一个命名的表。这个函数通常会从一个 饲料处理器。它需要 tableData,如果有,则添加一个时间列 存在,将其插入内存表,附加到日志文件 最后增加日志文件计数器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-26
        • 1970-01-01
        • 1970-01-01
        • 2020-08-15
        • 2011-01-16
        • 1970-01-01
        • 1970-01-01
        • 2019-10-01
        相关资源
        最近更新 更多