sql – Esqueleto:如何使用连接删除项目

使用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一样,可能会添加该值.但这失败了,因为删除需要mad()类型的monad.

这可能是esqueleto遗失的吗?

解决方法

试试这个.
delete $
from $\(table1 `InnerJoin` table2) -> do
on (just (table1 ^. Table1ID  ==. table2 ^. Table2ItemID)

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...