sql – 将IF EXISTS与CTE一起使用
发布时间:2020-12-25 12:12:18 所属栏目:MsSql教程 来源:网络整理
导读:我想检查CTE表是否有记录或null.但我总是收到错误信息’关键字’IF’附近的SQL语法错误,如下面的SQL.现在ADMISSION_OUTSIDE TABLE中没有匹配的记录. SQl的结果应该打
我想检查CTE表是否有记录或null.但我总是收到错误信息’关键字’IF’附近的SQL语法错误,如下面的SQL.现在ADMISSION_OUTSIDE TABLE中没有匹配的记录. SQl的结果应该打印’NOT OK’.谢谢, WITH ADMISSION_OUTSIDE AS ( ..... ..... ) IF EXISTS (SELECT * FROM ADMISSION_OUTSIDE) PRINT 'OK' ELSE PRINT 'NOT OK' 解决方法从MSDN 起
它可以像这样重写 WITH ADMISSION_OUTSIDE AS ( ..... ..... ) SELECT 'OK' WHERE EXISTS (SELECT * FROM ADMISSION_OUTSIDE) UNION ALL SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM ADMISSION_OUTSIDE) 这是一个演示 ;WITH CTE AS ( SELECT 1 as a WHERE 1=0 ) SELECT 'OK' WHERE EXISTS (SELECT * FROM CTE) UNION ALL SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM CTE) 结果:不行 ;WITH CTE AS ( SELECT 1 as a WHERE 1=1 ) SELECT 'OK' WHERE EXISTS (SELECT * FROM CTE) UNION ALL SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM CTE) 结果:好的 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |