我们正在为任何 RDBMS 技术寻找一种通用语言。我的意思是,如果我在 SQL Server 中编写查询,该查询还必须在任何 RDBMS(如 oracle、mysql 等)上工作。
任何人都可以帮助我开始吗?
我们正在为任何 RDBMS 技术寻找一种通用语言。我的意思是,如果我在 SQL Server 中编写查询,该查询还必须在任何 RDBMS(如 oracle、mysql 等)上工作。
任何人都可以帮助我开始吗?
大多数数据库服务器(大部分)都支持 SQL 的 ANSI 标准。只要您坚持数据库服务器提供的 SQL 语言功能子集,您的查询就可以移植。
但是,您的 dbms 的许多更复杂的功能将无法使用,因为它们不是 ANSI 标准的一部分,因此每个 dbms 供应商都以专有方式实现 - 交叉表就是这个问题的一个例子。
两件事,您可以使用 ANSI 标准,但并非所有 RDBMS 都支持所有 ANSI 标准。此外,ANSI 标准仅适用于 SQL,而不适用于他们的编程语言,例如用于 sql server 的 Tsql 和用于 oracle 的 pl/sql 等。
第二点也是最重要的一点,为什么要在不同的 RDBMS 中使用相同的代码。数据库系统是完全不同的。一些 RDBMS 在某些事情上做得很好,在其他事情上做得不好。因此,如果您实现一个代码,那么它可能不是某些 RDBMS 的最佳优化代码。因此,我建议根据 RDBMS 的优缺点编写代码。如果它会有所不同,那就这样吧。
最重要的是,您是否尝试在决定 RDBMS 之前做一些基准测试。此外,在不同的 RDMBS 上拥有相同的数据和代码将解决什么目的。你会在许可证上浪费很多钱。服务器等作为代码将在所有 RDBMS 上执行相同的工作。