最近在玩ActiveRecord和Sql server,发现ActiveRecord居然支持preparedstatement了。但有些功能还是不能支持,比如NOT EXISTS和CROSS APPLY。
比如,下面这段SQL就没有办法转换成为ActiveRecord
只是有些接近的方法
![]()
生成的SQL实际上是
![]()
用到了LEFT JOIN,而不是EXISTS。不过,还好是prepared statement。
或者直接用SQL

实际上面生成的SQL就不是prepared过的了。这样就不好了,就不好的利用cache plan了。比起LEFT JOIN 引起的side effect,我更加倾向用LEFT JOIN方式,至少能够cache plan,不用每次compile。
转载需保留链接来源:软件玩家 » SQL就没有办法转换成为ActiveRecord
什么是SVG图标?在网页中如何使用SVG图标?
Azure SignalR和Azure Functions实现无服务器架构
DBeaver – 媲美Navicat的数据库管理软件
eDEX-UI – PowerShell程序员必备的全屏终端
Sublime Text – 程序员之必备代码编辑器
计算Iphone格机型的屏幕精确尺寸
SwiftUI显示图文并排的 Label