MySQL和Oracle SQL方言之间的主要区别有哪些?

38

我是一名软件开发人员。我使用MySQL已有多年,现在即将在一个项目中第一次接触Oracle。

我被告知在某些情况下SQL表现出截然不同的行为,所以我需要小心。我不知道会遇到什么,主要是寻找明显的问题和典型的初学者错误。

例如,我被告知Oracle没有自动递增功能。

这就是我所需要的类型。如果你能提供任何其他有助于避免重复解决已经解决的问题的知识,我将不胜感激。

2个回答

4
例如,我被告知 Oracle 没有自动递增功能。
Oracle 有序列;只是一种不同的表示方法。在插入时自动递增的列值的概念当然存在。
Oracle 要求您将主键和外键作为约束条件添加,与表定义分开。
PostgreSQL 是开源数据库中最接近 Oracle 的东西。它也有序列。

谢谢,这样我可以用一种不同的方式创建自动递增了,那很好。非常抱歉,我必须承认到目前为止,除了MySQL以外,我只看过一点点Sybase。 - Yashima
4
如果你愿意,可以在表定义中定义约束和主键。请参阅内联约束定义:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#sthref7519 - DCookie

0

如果您想在传统的MySQL中测试类似Oracle的分组行为,请启用only_full_group_by模式,参见:http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html#sqlmode_only_full_group_by - Johan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接