sqlDelete

语法

sqlDelete(table, [where])

参数

table 可以是内存表,亦可为分布式表。

where 是元代码,表示 where 条件。

详情

动态生成 SQL delete 语句的元代码。若需执行生成的元代码,请配合使用 eval 函数。

例子

例1. 删除内存表记录

t1=table(`A`B`C as symbol, 10 20 30 as x)
sqlDelete(t1, <symbol=`C>).eval()
t1;
symbol x
A 10
B 20

例2. 删除分区表记录

if(existsDatabase("dfs://db1")){
    dropDatabase("dfs://db1")
}

n=1000000
t=table(take(`A`B`C`D,n) as symbol, rand(10.0, n) as value)
db = database("dfs://db1", VALUE, `A`B`C`D)
Trades = db.createPartitionedTable(t, "Trades", "symbol")
Trades.append!(t)
select count(*) from Trades;

# output
1000000

Trades=loadTable("dfs://db1", "Trades")
sqlDelete(Trades, <symbol=`A>).eval()
select count(*) from Trades;

# output
750000