KDB-更新表时一次调用的函数数量是否有限制?

问题描述

我一直在运行许多功能来更新表格,并且我会不断添加更多功能,因为我希望更新并调用其他各种项目。我还没有遇到任何问题(目前有7个功能),但我很清楚可能会有限制。我确实发现单个函数最多只能有8个参数,但下面没有什么限制。如果没有,那就太好了。在扩大规模时,我想保持警惕。

updateTable: FuncG FuncF FunE FuncD FuncC FuncB FuncA ::;  // max number of functions?
t: updateTable t;

解决方法

我用大量的函数调用制作了一个伪造的更新语句,看来您还不错:

q)t:([]a:1 2 3)
q)f:{x+1}
q)value "update ",(raze 1000#enlist"f "),"a from t"
a   
----
1001
1002
1003

您可能想做的一件事是从函数列表中创建一个函数composed

q)f:{x+1}
q)g:{2*x}
q)h:{x+1+2}
q)(('[;])/)(f;g;h)
{x+1}{2*x}{x+1+2}
q)composed:(('[;])/)(f;g;h)
q)t:([]a:1 2 3)
q)update composed a from t
a
--
9
11
13

所以您的update语句中只有一个功能,并且可以扩展。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...