我知道这个资源。但它没有说明.u.upd需要哪些参数以及如何检查它是否有效。
该语句执行没有错误,尽管它似乎没有做任何事情:
.u.upd[`t;(`$"abc";1;2;3)]
Run Code Online (Sandbox Code Playgroud)
如果我事先定义了表格,例如
t:([] name:"aaa";a:1;b:2;c:3)
Run Code Online (Sandbox Code Playgroud)
那么上面的.u.upd仍然运行没有错误,并且不会改变t。
.u.upd具有与前缀形式相同的函数签名insert(请参阅http://code.kx.com/q/ref/qsql/#insert)。在最简单的情况下,.u.upd可以定义为insert。
所以:
.u.upd[`table;<records>]
例如:
q).u.upd:insert
q)show tbl:([] a:`x`y;b:10 20)
a b
----
x 10
y 20
q).u.upd[`tbl;(`z;30)]
,2
q)show tbl
a b
----
x 10
y 20
z 30
q).u.upd[`tbl;(`a`b`c;1 2 3)]
3 4 5
q)show tbl
a b
----
x 10
y 20
z 30
a 1
b 2
c 3
Run Code Online (Sandbox Code Playgroud)