我成功地將mysql遷移到oracle。但唯一的問題是在表名和字段名區分大小寫。在web中的一些頁面表示去sql工具和選項中的開發人員,並勾選ansi,但我找不到它。 在oracle網站論壇上說它是遷移的一部分。 有人有新版本的SQL開發人員,並從MySQL遷移?SQL開發人員mysql到oracle遷移
E.g
calendarColor成爲CALENDARCOLOR
我成功地將mysql遷移到oracle。但唯一的問題是在表名和字段名區分大小寫。在web中的一些頁面表示去sql工具和選項中的開發人員,並勾選ansi,但我找不到它。 在oracle網站論壇上說它是遷移的一部分。 有人有新版本的SQL開發人員,並從MySQL遷移?SQL開發人員mysql到oracle遷移
E.g
calendarColor成爲CALENDARCOLOR
我實在看不出這是一個問題。由於默認情況下Oracle的對象不區分大小寫,因此您可以繼續使用SELECT * FROM calendarColor
來查詢它們。
如果需要他們是大小寫敏感的,使用引號,如:
CREATE TABLE "calendarColor" (...);
SELECT * FROM TABLE "calendarColor";
【引用】在命令開始位於第1行錯誤: SELECT * FROM 「calendarColor」 錯誤在命令行:1柱:14 錯誤報告: SQL錯誤:ORA-00942:表或視圖不存在 00942。00000 - 「表或視圖不存在」 *原因: *操作:[/ quote] –
如果您創建表時未使用引號(即:不區分大小寫),則*有*表示引號或者如果您確實使用了引號,請使用全部大寫字母)。另請不要使用[BBCode](http://stackoverflow.com/questions/3788959/regex-to-split-bbcode-into-pieces/3792262#3792262)。這很糟糕,因此不支持它。 – NullUserException
嗯..我不生成代碼。它由sql開發人員生成..嗯..似乎你不用它....better不回答... –
如果表是用
CREATE TABLE calendarcolor (calendarColorId NUMBER(10,0) NOT NULL);
然後創建表名在內部以大寫形式存儲。當你運行如下語句:
select * from "calendarColor"
然後你告訴甲骨文:表名應被視爲區分大小寫但因爲沒有表命名爲calenderColor
,只有一個名爲CALENDARCOLOR
您的語句失敗。
修復的方法是很容易的:去掉引號和改變選擇到
select * from calendarColor
在這裏,有一個解釋它比我更好的upvote – NullUserException
請告訴我們您正在運行的** **實際的SQL語句。理想情況下,也可以使用CREATE TABLE語句(只需複製SQL Developer的CREATE表,它會顯示在那裏) –
'PROMPT創建表的日曆顏色... CREATE TABLE calendarcolor( calendarColorId NUMBER(10,0)NOT NULL ); 提示符下表calendarcolor創建主鍵約束PRIMARY_3 ... ALTER TABLE calendarcolor ADD CONSTRAINT PRIMARY_3 PRIMARY KEY ( calendarColorId ) ENABLE ;' –
似乎生成代碼不大寫奇怪..要檢查回來在生成的代碼上 –