You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用BEGIN-END的SQL-92环境中实现TSQL的NOT EXISTS逻辑?

SQL-92环境下无BEGIN-END实现条件插入的方案

直接把IF NOT EXISTS的判断逻辑整合到INSERT的SELECT查询里就行,利用SQL-92支持的EXISTS子句来过滤,不需要任何BEGIN-END块就能实现相同效果:

INSERT INTO tblDCUSTOM
    (ID
    ,Name
    ,English     
    )
SELECT 'All Customers','All Customers','All Customers'
WHERE NOT EXISTS (SELECT * FROM tblDCUSTOM WHERE id = 'All Customers')

原理说明

当tblDCUSTOM中不存在id = 'All Customers'的记录时,WHERE NOT EXISTS的条件成立,SELECT语句会返回要插入的那一行数据,INSERT就会执行插入操作;如果该记录已经存在,SELECT返回空结果集,INSERT就不会做任何操作,完全等价于原来TSQL的逻辑。

内容的提问来源于stack exchange,提问作者Lukáš Tomšů

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:35:28