У меня есть следующая таблица, сохраненная на диске
`:t/ upsert ([] v1:10 20 30; v2:1.1 2.2 3.3; v3:1 2 3)
как я могу удалить столбец v3, например?
v3
Следующее должно работать
`:t/ set delete v3 from t
dbmaint.q - это еще одна опция: https://github.com/KxSystems/kdb/blob/master/utils/dbmaint.q
Для этой цели предусмотрена функция delete1col.Это можно использовать так:
delete1col[tabledir;col]
, в вашем случае это будет:
delete1col[`:t/;`v3]
Этот сценарий также включает целый ряд других функций, которые могут оказаться полезными в будущем.
Эта строка должна достичь того, что вы хотите сделать:
`:/t/.d set `v1`v2
Кроме того, вам следует удалить файл v3.
Надеюсь, это поможет!