我成功将mysql迁移到oracle。但唯一的问题是对表名和fieldname区分大小写。在web中的一些页面说到sql developer中的工具和选项并勾选ansi但我找不到它。 在oracle网站论坛上说它是迁移的一部分。 有没有人有新版本的sql developer并从mysql迁移?
E.g
calendarColor成为CALENDARCOLOR
答案 0 :(得分:1)
我真的不明白这是怎么回事。由于Oracle的对象默认情况下不区分大小写,因此您可以继续使用SELECT * FROM calendarColor
查询它们。
如果您需要它们区分大小写,请使用引号,例如:
CREATE TABLE "calendarColor" ( ... );
SELECT * FROM TABLE "calendarColor";
答案 1 :(得分:1)
如果表是使用
创建的CREATE TABLE calendarcolor ( calendarColorId NUMBER(10,0) NOT NULL );
然后表名在内部以大写形式存储。当你运行这样的语句时:
select * from "calendarColor"
然后你告诉Oracle:表名应该区分大小写但由于没有名为calenderColor
的表,只有一个名为CALENDARCOLOR
的语句失败。
修复非常简单:删除引号并将选择更改为
select * from calendarColor