sql – 将IF EXISTS与CTE一起使用
发布时间:2020-12-25 06:08:15 所属栏目: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) 结果:好的 (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新