加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:35:06 所属栏目:MsSql教程 来源:网络整理
导读:使用esqueleto可以进行以下查询吗? DELETE Table1FROM Table1INNER JOIN Table2 ON Table1.ID = Table2.ItemID 我试过了: delete $ from $(table1 `InnerJoin` table2) - on (table1 ^. Table1ID ==. table2 ^. Table2ItemID) 奇怪的是,这是我在Haskell中
使用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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读