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