KDB如何从另一个命名空间在根命名空间中赋值?
我在根命名空间中有一个表(feed_exclude),我希望在不使用\d更改该命名空间的情况下重新分配该表KDB如何从另一个命名空间在根命名空间中赋值?,kdb,Kdb,我在根命名空间中有一个表(feed_exclude),我希望在不使用\d更改该命名空间的情况下重新分配该表 >feed_exclude feed table --------------- `feed1 `table1 \d .mon `.[`feed_exclude],:flip enlist each first select feed,tab from 0!`.[`feed_table] '2018.11.26T16:30:51.643 assign 如何分配给根
>feed_exclude
feed table
---------------
`feed1 `table1
\d .mon
`.[`feed_exclude],:flip enlist each first select feed,tab from 0!`.[`feed_table]
'2018.11.26T16:30:51.643 assign
如何分配给根命名空间“”中的表。不使用\d.更改命名空间
我已经检查过赋值操作符两边的meta是否相等。删除赋值运算符(:)后,代码将正确执行
`.[`feed_exclude], flip enlist each first select feed,tab from 0!`[`feed_table]
feed table
---------------
`feed1 `table1
`feed2 `table2
任何帮助都将不胜感激
谢谢尝试以下方法
@[`.;`feed_exclude;,;flip enlist each first select feed,tab from 0!`.[`feed_table]]
如果您试图引用根命名空间中的变量,可以在变量的符号名前加一个
。
。在您的情况下,这将是`..feed\u exclude
然后,您可以使用insert
附加到表中
\d.mon
`..feed_exclude insert flip登记每个第一个select feed,制表符从0开始!`。[`feed_表]
希望对您有所帮助。一个选项是使用upsert或insert以及符号“。。引用根命名空间的符号
q)t:([]1 2 3)
q)\d .test
q.test)`..t upsert ([]10 20 30)
`..t
q.test)`..t insert ([]10 20 30)
6 7 8
还可以使用“set”更新全局命名空间中的变量:
q) `..feed_exclude set `.[`feed_exclude], flip enlist each first select feed,tab from 0!`[`feed_table]