trade is a partitioned table, so it does not work. What exactly are you trying to do? if you want to create an edited copy of the data in memory, you need something like
q)t:update size:300 from(select from trade)where sym=`c,price>71 q)t date sym time price size ----------------------------------------- 2007.07.23 a 04:48:52.665 73.53941 1000 2007.07.23 a 04:48:52.675 81.73358 600 2007.07.23 a 04:48:52.725 78.79526 900 2007.07.23 a 04:48:52.735 79.59502 600 2007.07.23 b 04:48:52.655 84.59765 200 2007.07.23 b 04:48:52.685 98.36199 500 2007.07.23 b 04:48:52.705 97.49875 700 2007.07.23 c 04:48:52.645 61.48308 900 2007.07.23 c 04:48:52.695 61.53192 700 2007.07.23 c 04:48:52.715 71.95405 300 q)
if you want to change the data on the disk, which is quite difficult in the general case. in this particular case, you can do it like this:
q){.Q.dd[.Q.par[`:.;x;`trade];`]set update size:300 from(select from trade where date=x)where sym=`c,price>71}2007.07.23 `:./2007.07.23/trade/ q)\l . q)trade date sym time price size ----------------------------------------- 2007.07.23 a 04:48:52.665 73.53941 1000 2007.07.23 a 04:48:52.675 81.73358 600 2007.07.23 a 04:48:52.725 78.79526 900 2007.07.23 a 04:48:52.735 79.59502 600 2007.07.23 b 04:48:52.655 84.59765 200 2007.07.23 b 04:48:52.685 98.36199 500 2007.07.23 b 04:48:52.705 97.49875 700 2007.07.23 c 04:48:52.645 61.48308 900 2007.07.23 c 04:48:52.695 61.53192 700 2007.07.23 c 04:48:52.715 71.95405 300 q)
source share