KDB如何从另一个命名空间在根命名空间中赋值?

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),我希望在不使用\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
如何分配给根命名空间“”中的表。不使用\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]