mysql - 跨平台检查 SQL 中是否存在“DUAL”表的方法
问题描述
我有一个可能使用 Oracle、MySQL 或 SQL Server 的应用程序。在一些查询中,我需要使用“DUAL”表,例如:
SELECT (CASE WHEN EXISTS (SELECT 1 FROM MYTABLE) THEN 1 ELSE 0 END) FROM DUAL
但是,SQL Server 不支持“DUAL”表。
是否有我可以使用的 SQL 语句来检查是否支持“DUAL”表?这样,如果不支持,我可以分支到不同的查询。
我尝试查询 INFORMATION_SCHEMA.TABLES,但那里没有列出“DUAL”表,即使在支持它的 Oracle 和 MySQL 中也是如此。
解决方案
最好的办法是dual
在 SQL Server 中创建一个包含一行的表或视图。MySQL 接受dual
.
这样做一次,然后忘记它。
推荐阅读
- angular - angular-l10n 与 ngx-translate 的优缺点
- hadoop - 如何删除 Hive 中的两个分区列之一?
- javascript - 选中或取消选中复选框中的问题
- angular - 动态更改提供者
- pdf - Azure ML 决策树可视化下载
- javascript - 如何使用 gtag 在 Google Analytics 中跟踪 utm_source?
- sql - 使用 Objection.js 插入一组 UUID
- java - Kafka Java客户端处理连接,服务器问题
- python-3.x - 文件“quickstart.py”,第 9 行,在
- java - 是否可以在包含目标 + 连接字段的子类上使用 @JoinTable?