如何枚举kdb表中的多个列?

时间:2013-04-19 20:06:59

标签: kdb

我想分区一个kdb表,所以我需要首先枚举它的符号列。我使用.Q.en运算符执行此任务:

mytable_mem_enum: .Q.en[`$sym_path] mytable_mem

/generate partition schema
(`$db_path;``!((17;2;9);(17;2;9))) set ([]ts:`time$(); msg_type:`symbol$(); price_type:`byte$(); memo:`symbol$())

/store
(`$db_path) upsert (select ts,msg_type,pricetype,memo from mytable_mem_enum)

Q在sym中指定的目录下创建一个名为sym_path的文件。此文件是否包含所有符号列的枚举? .Q.en和此语法之间有什么区别:

([] ti:09:30:00 09:31:00; s:`:/db/sym?`ibm`msft; p:101 33f)

1 个答案:

答案 0 :(得分:3)

.Q.en会枚举表格中任何类型为symbol的列。

除了简单函数的便利之外,与手工进行枚举基本没什么不同。