是否可以使用 esqueleto 进行以下查询?
DELETE Table1
FROM Table1
INNER JOIN Table2 ON Table1.ID = Table2.ItemID
我试过了:
delete $
from $ \(table1 `InnerJoin` table2) ->
on (table1 ^. Table1ID ==. table2 ^. Table2ItemID)
奇怪的是,它产生了我在 Haskell 中见过的唯一运行时错误之一
ERROR: syntax error at or near "INNER"
LINE 2: FROM "table1" INNER JOIN "table2" ON "tab...
(基本上,不高兴的DELETE
是缺少“table1”)
我还尝试向 monad 添加一个返回值,与 select 一样,它可能会添加该缺失值。但这失败了,因为 delete 需要一个 monad 类型m ()
。
Esqueleto 是否可能缺少这点?